Effective Microservice Communication and Conversation Patterns
summary
Distributed transactions via two‑phase commit are slow, fragile or unavailable in cloud databases so the team replaces them with a local transactional outbox (write business data + outbound messages in one DB transaction), a per‑service inbox/outbox memory for idempotency, and a logical dispatcher that reads outboxes and publishes to RabbitMQ or Azure Service Bus. Implemented an order‑fulfillment saga pattern across MongoDB-backed services; removing distributed transactions yields about a 5x–10x throughput improvement and reliable eventual consistency in production.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:03Single system transactions
- 3:36Distributed transactions limits
- 13:27Microservice communication challenges
- 18:22Life beyond distributed transactions
- 22:15Transactional boundaries in microservices
- 28:12Implementing outbox and inbox patterns
- 39:54Saga pattern explained
- 50:26Summary and key takeaways
related talks
01h 01mBeyond Pub/Sub - Advanced Messaging Patterns
59mEffective Microservice Communication and Conversation Patterns
54m3 Patterns for Scalable Microservices
51mNot Just Events: Developing Asynchronous Microservices
53mLife Beyond Distributed Transactions: An Apostate's Implementation
52mLife Beyond Distributed Transactions: An Apostate's Implementation
38mMessaging Patterns to Transform Your Cloud Architecture
01h 03mBeyond Pub/Sub - Advanced Messaging Patterns
