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.
PreviousA consumer that deserialises a corrupted record enters a crash loop and never reaches its own error-handling code. Why, and how does a dead-letter setup actually fix it?Next A lag alert fires. How do you tell from the lag data alone whether it's a capacity problem, a stuck partition, or a rebalance loop?