MicroCPH - Managing data consistency in a microservice architecture using Sagas
sagas transaction managementIn May 2019, I gave a talk at MicroCPH in Copenhagen, Denmark. It focussed on implementing transactions that span services using the Saga pattern.
Abstract
The services in a microservice architecture must be loosely coupled and so cannot share database tables. What’s more, two-phase commit (aka a distributed transaction) is not a viable option for modern applications. Consequently, a microservices application must use the Saga pattern, which maintains data consistency using a series of local transactions.
In this presentation, you will learn how sagas work and how they differ from traditional transactions. We describe how to use sagas to develop business logic in a microservices application. You will learn effective techniques for orchestrating sagas and how to use messaging for reliability. We will describe the design of a saga framework for Java and show a sample application.
Slides
Video
To learn more
- Read my series of blog posts about managing data consistency with sagas
- Look at the complete example code in the eventuate-tram-examples-customers-and-orders Github repository
- Read my Microservices patterns book, which includes a comprehensive discussion of sagas
- Talk to me about my microservices consulting and training services
- Learn more about microservices at adopt.microservices.io