Life Beyond Distributed Transactions: An Apostate's Implementation
summary
Argues distributed transactions are limited to a single-item transactional boundary and shows a working implementation that coordinates multi-resource work without MSDTC by persisting link messages inside each record. Uses outbox/inbox pattern, a dispatcher + retry queue, an identity map and unit-of-work, Azure Cosmos DB change feed and Azure Service Bus, plus a Saga coordinator to confirm or roll back stock across many documents. Demonstrates order-fulfillment built end-to-end, recovers from partial failure, and runs as a practical production workaround to impossible distributed transactions.
AI-written summary · about
chapters (10)
- 0:00The distributed challenge
- 3:30Limits of current protocols
- 7:53Life beyond transactions
- 14:16Implementing the outbox
- 20:49Dispatching and inbox logic
- 28:15Handling message processing
- 33:23Managing units of work
- 40:05Fallback and recovery
- 46:32Complex saga orchestration
- 55:51Lessons and best practices
related talks
01h 02mLife Beyond Distributed Transactions: An Apostate's Implementation
53mLife Beyond Distributed Transactions: An Apostate's Implementation
52mLife Beyond Distributed Transactions: An Apostate's Implementation
01h 02mConsistency and Agreements in Distributed Systems
01h 02mAt Least Once
53mEffective Microservice Communication and Conversation Patterns
46mLost in transaction? Strategies to deal with (in-)consistency in distributed systems
51mNot Just Events: Developing Asynchronous Microservices
