Σχεδιασμός και υλοποίηση ενός Saga Orchestrator με χρήση μηχανής καταστάσεων σε ένα σύστημα μικροϋπηρεσιών
Design and implementation of a Saga Orchestrator using a state machine in a microservices system

View/ Open
Keywords
Saga pattern ; Microservices architecture ; Distributed transactions ; State machine orchestrationAbstract
This thesis focuses on the design and implementation of a Saga Orchestrator for managing distributed transactions in a microservices architecture. The aim of the thesis is to study and apply the Saga pattern in practice, in order to achieve eventual data consistency without the use of ACID transactions. A state machine with the Spring Statemachine library is used to coordinate the flow, which allows for the organized management of the individual steps of a business process, such as payment authorization and inventory reservation in a simplified e-commerce system. Communication between microservices is performed asynchronously via RabbitMQ, while in case of errors, appropriate compensating actions are triggered. The implementation is evaluated in a Docker Compose environment, with the aim of monitoring the behavior of the orchestrator in both normal execution scenarios and basic failure cases.


