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