Microservices Architecture and Data Consistency: So How Do We Do It for Real?
summary
Compares two concrete approaches for distributed-data consistency in microservices with runnable demos: MicroProfile LRA + Narayana uses synchronous HTTP lifecycle annotations (start/complete/compensate) across Quarkus/OpenLiberty services and covers invalid client, unknown destination, price-exceeded and timeout cases; Eeventuate Tram with CDC + Kafka uses an orchestration DSL, a transactional outbox (CDC) and Kafka messages for asynchronous sagas and compensations. Both examples use Postgres, discuss trade-offs (configuration complexity versus coupling), and provide about 1,600 lines of demo code to reuse.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 2:41Transaction ACID in-place
- 3:09Did you say ACID?
- 4:18Distributed ACID Transactions 2PC
- 4:49Distributed ACID Transaction 2PC
- 5:34A little less ACID please...
- 6:33Coordination Principles
- 7:14Solutions
- 18:56A simple but ... model
- 26:57Eventuate Architecture
- 29:23Transactional messaging
- 31:08Eventuate Database
- 42:01To go further
related talks
46mMicroservices architecture and data consistency
27mData Consistency in Microservices Architecture
01h 11mEmbracing Messaging and Eventual Consistency in your Microservices Solutions
53mA different flavor of the distributed transaction
39mManaging Consistency, State and Identity in Distributed Microservices
50mTransactional solutions for microservices
51mPatterns & Practices of Implementing Event-driven MicroSvc...
58mImplementing Event-driven Microservices
