Transactions in Your Micro-Services Architecture
summary
Explains why XA distributed transactions aren’t suitable for microservices and demonstrates a practical SAGA-like pattern implemented with MicroProfile Transactions and Jakarta/Java REST endpoints that carry a unique transaction header. Presents a small working demo of three services plus a coordinator that issues compensating actions, retries failed steps up to five times, and enforces timeouts (e.g. 24 hours) to close abandoned transactions, showing logs and end-to-end behavior while discussing tradeoffs (CAP, eventual consistency) and the specs/runtimes used.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 2:15Microservice transaction challenges
- 3:42Traditional transactions don't scale
- 5:24Consistency vs availability
- 6:48Business workflows
- 8:56Eventual consistency examples
- 10:21Missing tools
- 12:18MicroProfile LRA specs
- 15:28MicroProfile LRA demo
- 19:54Closing transaction pitfalls
- 20:37Designing transactions
- 23:50Multi-service transaction example
- 25:19Compensating actions
- 27:54Coordinator retry mechanisms
- 30:24Sync vs async compensation
- 33:35Compensating actions features
- 35:02Timeouts and boundaries
- 36:29Service participation closure
- 38:14Linking transactions to data
- 39:23Takeaways and conclusion
related talks
54mTackling transactions in a Microservices application
50mTransactional solutions for microservices
55mTackling transactions in Microservices applications
17mSaga Pattern for Distributed Transactions
46mMicroservices architecture and data consistency
53mA different flavor of the distributed transaction
27mBuilding Microservices Architecture The Right Way based on Saga Pattern
51mNot Just Events: Developing Asynchronous Microservices
