Message Broker Landscape Lab (Interactive)
Score RabbitMQ, Kafka, and SQS against your throughput, replay, routing, and ops constraints. Sweep event throughput, retention needs, and capability requirements while a weighted matrix re-ranks RabbitMQ, Apache Kafka, and AWS SQS live.
Broker Landscape: Kafka vs RabbitMQ vs SQS
Describe the workload and the scoring matrix ranks the three messaging philosophies.
Apache Kafka— Dumb broker / smart consumer — append-only commit log
88/100
thr 30/30 · lat 15/20 · replay 25/25 · route 11/15 · ops 7/10
- ✅ Handles 100,000 eps with headroom
- ⏱ 5 ms end-to-end latency (Pull, offset-tracked)
- ✅ Retention policy fits 7d
RabbitMQ— Smart broker / dumb consumer — transient in-memory queues
66/100
thr 24/30 · lat 20/20 · replay 2/25 · route 12/15 · ops 8/10
- ✅ Handles 100,000 eps with headroom
- ⏱ 1 ms end-to-end latency (Push over AMQP)
- ❌ 7d retention exceeds 0d limit (deleted on ACK)
AWS SQS— Fully managed serverless HTTP queue
49/100
thr 0/30 · lat 10/20 · replay 18/25 · route 11/15 · ops 10/10
- ❌ 100,000 eps exceeds AWS SQS's ~3,000 eps ceiling
- ⏱ 20 ms end-to-end latency (Pull, HTTP long poll)
- ✅ Retention policy fits 7d
The archetypes never change: Kafka keeps immutable bytes on disk and lets consumers own their offset (so replay is free but ops are yours), RabbitMQ routes with exchanges and deletes on ACK (sub-millisecond, no time travel), SQS is a serverless HTTP buffer (10–25 ms, zero maintenance). Apache Kafka wins this profile — Uber runs Kafka and RabbitMQ side by side for exactly this reason.
How It Works Under the Hood
The three archetypes solve different problems. RabbitMQ is a smart-broker with per-message state—rich routing, ACKs, and priorities, but throughput in the tens of thousands per second and queues emptied on consumption. Kafka is a distributed commit log: millions of events per second, replay by offset, and ordering within partitions, at the price of cluster ops. SQS is fully managed pull delivery with at-least-once semantics and nine-day visibility ceilings—zero ops, no replay, no fan-out routing beyond SNS pairing.
Core Architectural Principles
- Weighted scoring trades throughput (30%), replay (25%), latency (20%), routing (15%), and ops cost (10%).
- Retention-driven replay requirements are Kafka-only: consumed messages vanish from RabbitMQ and SQS queues.
- Managed-service scoring flips SQS ahead whenever the ops-team constraint is toggled on.
Never name a broker first—name the access pattern: "replay and analytics need a log (Kafka); complex routing and moderate volume suit RabbitMQ; hands-off work queues on AWS mean SQS plus DLQs." Show you price the operational tax of self-managed clusters against the capability ceiling of the managed option.
Smart brokers optimize per-message flexibility, log brokers optimize replay and volume, and managed queues optimize operations—you can only pick two emphases.