Saga Pattern
Distributed Transactions vs. Saga
Challenges
[22] Chris Richardson (2021): Microservices.io
[28] Eventuate (2021): Eventuate
How to implement?
Because of the complexity you should use a framework for it!
Which framework?
- @Stefanko.etal.2019.SagaPatternReactiveMicroservicesEnvironment compares Axon, Eventuate Event Sourcing (ES), Eventuate Tram, and MicroProfile Long Running Actions (LRA).
- @Durr.etal.2022.SagaPatternTechnologies compares Eventuate Tram, Netflix Conductor, Camunda and MicroProfile LRA.
- @Speth.etal.2022.SagaPatternMicroservice uses Eventuate Tram in a Spring Boot environment
π References
Notes:
- @Richardson.2017.MicroservicesPatternSaga
- @Speth.etal.2022.SagaPatternMicroservice
- Caitie McCaffrey β Distributed Sagas - A Protocol for Coordinating Microservices
Books:
- C. Richardson, Microservices patterns: with examples in Java. Simon and Schuster, 2018.
- S. Newman, Building Microservices: Designing Fine-Grained Systems, 2nd ed. OβReilly, 2021.
Articles:
- Saga patterns - AWS Prescriptive Guidance
- Saga pattern - Azure Design Patterns | Microsoft Learn
- Sagas by Clemens Vasters
Papers:
- Garcia-Molina, H., & Salem, K. (1987). Sagas. ACM SIGMOD Record, 16(3), 249β259. https://doi.org/10.1145/38714.38742