Command Palette

Search for a command to run...

PHASE 10Intermediate ~6 min· topic 12 of 16

Topic 10.12

Kafka vs Traditional Queue

In one line

Kafka = replayable log; RabbitMQ = smart router. Both are queues to a product manager and different worlds to you.

0/16 · 0%

Think of it like this

A regular to-do list where a task disappears once someone does it (a simple queue), versus a public noticeboard where the message stays pinned and multiple different teams can each read and act on it independently (Kafka).

Key ideas

  1. 01

    Kafka: distribute the same log to many independent consumers (each replays at its own pace); high throughput; retention-based.

  2. 02

    RabbitMQ: routing, priority, TTL, RPC patterns, per-message ack — a full messaging toolbox.

  3. 03

    Kafka is a log you read multiple times; RabbitMQ is a message DELIVERED once to its consumer queue (per ack).

  4. 04

    Throughput: Kafka fans out to 100 consumers at full speed (disks sequential); RabbitMQ pays per routing work.

  5. 05

    Pick Kafka: event streaming, replay, audit, fan-out to independent pipelines, append-heavy telemetry.

  6. 06

    Pick RabbitMQ: smart routing (topic/header exchanges), RPC, priority queues, small-to-medium traffic.

  7. 07

    Interview: 'the same event feeds billing, analytics, ERP — Kafka lets each consumer own its offset and replay'.

Explain without notes

01

Why can two downstream services read the same Kafka topic at different speeds — and where RabbitMQ differs?

Practice

01

For a notification system, choose Kafka vs RabbitMQ for each of: fan-out, retry-with-DLQ, audit replay.

Trade-offs

  • ↔

    Kafka's model is weaker at per-message routing/priority — RabbitMQ's is weaker at replay and high fan-out.

Run it in production

You've designed it. Now build, operate, and break the same idea hands-on in the DevOps courses:

Completion checklist

  • I can justify broker choice from replay/routing/fan-out needs.

Back to phase