open atlas

queues

Queues, Streams, Eventing

Letting parts of a system hand off work through message queues instead of waiting on each other — so things stay fast and survive a crash without losing a message.

9 units·46 lessons·~41 h

Start track
00

Start from zero

Before the senior material: what a message queue even is, and the handful of words the rest of the track assumes you already know.
01

Delivery guarantees: at-most-once, at-least-once, and the truth about exactly-once

Exactly-once delivery is impossible (Two Generals). At-least-once + idempotent consumer = effectively-once. Kafka transactions, SQS visibility timeout, and the outbox pattern are the production tools.
02

Kafka partitions

How Kafka distributes messages across partitions, assigns consumer group members, and why partition count is a one-way door.
03

RabbitMQ exchanges and routing

Direct, fanout, topic, and headers exchanges — how binding keys route messages and where each pattern fits in production.
04

Message ordering guarantees

Why total order is expensive, how Kafka delivers per-partition FIFO, and the practical patterns for preserving order in distributed consumers.
05

The transactional outbox pattern

Write a database row and a message atomically — how the outbox table, polling relay, and CDC eliminate the dual-write problem.
06

Change-Data Capture

Reading the database write-ahead log to stream every row change as an event — Debezium, Postgres logical replication, and the operational gotchas.
07

Designing UX for eventual consistency

Optimistic UI, conflict resolution, progress indicators, and retry affordances — making asynchronous systems feel responsive to users.
08

Putting it together: event-driven service mesh

End-to-end design of an order-processing pipeline — outbox, Kafka topics, consumer groups, CDC, dead-letter queues, and observability.

Build with this track

Guided projects that exercise what you learn here.

Next track

Distributed Systems

What goes wrong when one system runs across many machines — and how they agree, stay available, and avoid making outages worse. Advanced; comfortable with one backend first.