Asynchronous Distributed Systems
summary
A synchronous call tree breaks at scale so the team moves to async messaging to remove temporal coupling, using Kafka and distributed logs as the durable transport; the product has >100 microservices and the user-profile path serves about 1,000,000 reads/sec. Writes go through a log so new algorithm versions spin up and consume the history until caught up (works in production). Patterns used include CQRS and event sourcing, choreography sagas for multi-step work, at-least-once delivery assumed, and oversized queues preferred over flow-control.
AI-written summary · about
chapters (19)
- 0:00Intro
- 1:25Synchronous vs Asynchronous System
- 5:15Why go from one to the other?
- 6:35Trading consistency for availability
- 10:33CAP Theorem in microservices
- 16:34Messages and Queues
- 19:34Asynchronous Message Patterns
- 20:05Fire and Forget (Notification)
- 25:05Request/Response
- 28:54Distributed Log
- 32:16Command Query Responsibility Segregat
- 36:49Event Sourcing
- 39:02Delivery Guarantees
- 48:34Transactional Outbox
- 54:50Successful Saga
- 56:12Compensatory Transactions
- 56:41Messaging Technologies
- 56:52Backpressure
- 59:20Error Handling
related talks
44mFrom Synchronous to Asynchronous Distributed Microservices
27mEmpowering Resilient Scalability: The Power of Choreography in Distributed Systems
51mNot Just Events: Developing Asynchronous Microservices
40mCAPtivating architecture: Navigating Distributed Systems and Microservices
22mAsynchronous Computing at Scale: Overview and Learning
51mPatterns & Practices of Implementing Event-driven MicroSvc...
11mLightning Talk: Event Based Communication in Complex Micro-service...
51mComplex Event Flows in Distributed Systems
