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

Προβολή/ Άνοιγμα
Λέξεις κλειδιά
Saga pattern ; Microservices architecture ; Distributed transactions ; State machine orchestrationΠερίληψη
Η παρούσα πτυχιακή εργασία επικεντρώνεται στο σχεδιασμό και την υλοποίηση ενός Saga Orchestrator για τη διαχείριση κατανεμημένων συναλλαγών σε μια αρχιτεκτονική μικροϋπηρεσιών. Στόχος της εργασίας είναι η μελέτη και η εφαρμογή του προτύπου Saga, προκειμένου να επιτευχθεί η τελική συνέπεια των δεδομένων χωρίς τη χρήση ACID συναλλαγών. Για τον συντονισμό της ροής χρησιμοποιείται μια μηχανή καταστάσεων με τη βιβλιοθήκη Spring Statemachine, η οποία επιτρέπει την διαχείριση των επιμέρους βημάτων μιας διαδικασίας, όπως η εξουσιοδότηση πληρωμής και η δέσμευση αποθέματος σε ένα απλοποιημένο σύστημα ηλεκτρονικού εμπορίου. Η επικοινωνία μεταξύ των μικροϋπηρεσιών πραγματοποιείται ασύγχρονα μέσω RabbitMQ, ενώ σε περιπτώσεις σφαλμάτων ενεργοποιούνται κατάλληλες αντισταθμιστικές ενέργειες. Η υλοποίηση αξιολογείται σε περιβάλλον Docker Compose, με σκοπό την παρακολούθηση της συμπεριφοράς του orchestrator τόσο σε κανονικά σενάρια εκτέλεσης όσο και σε βασικές περιπτώσεις αποτυχίας.


