When systems need to scale beyond synchronous Request-Response, we enter the world of Asynchronous Processing.
In this module, we move past “putting it in a queue” and dive into the operational guarantees that separate Senior from Staff engineers. We’ll explore how to maintain consistency without distributed transactions, how to survived traffic spikes with load shedding, and the internals of modern log-based systems like Kafka.
Chapters
1. Message Queue Fundamentals
- The “Smart Broker” vs “Log-based” debate: RabbitMQ vs Kafka.
- Internals: Consumer groups, partitioning, and log compaction.
- Interactive: Partition & Consumer Group Visualizer.
2. Delivery Guarantees & Transactional Outbox
- Exactly-Once: Why it’s a lie (and how Kafka makes it true).
- The Outbox Pattern: Solving the “Dual Write” problem.
- Idempotency: The ultimate safety net.
- Interactive: Delivery Guarantee Simulator.
3. Event-Driven Architecture & Sagas
- Distributed State: Choreography vs Orchestration.
- The Saga Pattern: Managing long-running business processes.
- Interactive: Saga State Machine Visualizer.
4. Backpressure & Flow Control
- System Self-Defense: Backpressure vs Load Shedding.
- Reactive Streams: Protecting downstream services.
- CDC (Change Data Capture): Debezium and log-based integration.
- Interactive: Flow Control Simulator.
Module Chapters
Queuing 101: The Waiting Room
Why is a doctor's office better than a restaurant? Learn how queues allow systems to handle traffic spikes without crashing.
Start Learning →Delivery Guarantees & Transactional Outbox
How to guarantee data arrives even when the network fails. At-least-once, exactly-once, and the Outbox pattern.
Start Learning →Event-Driven Architecture & The Saga Pattern
Choreography vs Orchestration. How to maintain distributed consistency with the Saga pattern.
Start Learning →Flow Control & Backpressure
Stopping your system from being overwhelmed. Backpressure, load shedding, and CDC with Debezium.
Start Learning →