Dagens applikationer är alltmer byggda enligt en mikrotjänstarkitektur istället för den klassiska monolitiska formen. I en mikrotjänstarkitektur har tjänster beroenden av varandra. Detta betyder att systemet måste kunna hantera situationer där dessa beroenden inte kan mötas. För att lösa de problemen som kan uppstå krävs ett felhanteringssystem som försäkrar att viktiga delar inte korrumperas eller går förlorad. Denna studie tar fram en modell på ett felhanteringssystem, och föreslår ett flertal teknologier som kan användas för en praktisk implementation av felhanteringssystemet. En fallstudie genomförs för att visa att teknologierna kan användas för att realisera modellen i en simulerad produktionsmiljö. Undersökningen föreslår en plattformsoberoende modell av Saga-mönstret som förhindrar korrumperad data, och ett återhämtningssystem som med hjälp av en meddelandekö kan återskapa förlorad data. Det framtagna felhanteringssystemet utvärderas utifrån de krav och begränsningar som ställs av beställaren, Asteria AB. Studien ger en generell lösning för de problem, som uppstår i en mikrotjänstarkitektur vid störningar och avbrott. Detta gör det möjligt att återanvända lösningen i olika kontext med minimala ändringar. / Today's applications are increasingly built according to a microservice architecture instead of the classic monolithic pattern. In a microservice architecture, services are interdependent. This means that the system must be able to handle situations where these dependencies cannot be met. To solve the problems that may arise, an error handling system is required that ensures that important parts are not corrupted or lost. This study develops a model of a fault management system, and proposes several technologies that can be used for a practical implementation of the fault management system. A case study is conducted to show that the technologies can be used to realize the model in a simulated production environment. The study proposes a platform-independent model of the Saga pattern that prevents corrupted data, and a recovery system that can recover lost data using a message queue. The developed error handling system is evaluated on the basis of the requirements and limitations set by the customer, Asteria AB. The study provides a general solution to the problems that arise in a microservice architecture in the event of disruptions and interruptions. This makes it possible to reuse the solution in different contexts with minimal changes.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-299431 |
Date | January 2021 |
Creators | Lindell, Hugo, Simonsson, Arthur |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2021:237 |
Page generated in 0.0022 seconds