Messaging modelseasy0-2 years

A team is choosing between Kafka and RabbitMQ for a new pipeline. What's the actual model difference, and how does it change the decision beyond raw throughput?

Kafka is a log: producers append, records are retained for a configured period regardless of who's read them, and every consumer keeps its own position and reads at its own pace — replay is a normal operation. RabbitMQ is a broker: a producer hands a message to an exchange, routing rules called bindings deliver it into one or more queues, a consumer takes it, and once acknowledged the message is gone — there's no concept of "replay yesterday's messages." The choice isn't about which is faster; it's about the messages' nature. Facts that several independent readers need, now and later, with replay — Kafka. Tasks to be done once, with routing, priority and retry as the real requirements — RabbitMQ.

The lesson behind it →