Encounter: RabbitMQ vs. Kafka – An Architect’s Dilemma

For some reason, many developers view RabbitMQ and Kafka as interchangeable. The goal of this post is to present both RabbitMQ and Kafka side-by-side.

Source: RabbitMQ vs. Kafka – An Architect’s Dilemma (Part 1) – Eran Stiller


  • RabbitMQ is preferable when we need:
    1. Advanced and flexible routing rules.
    2. Message timing control (controlling either message expiry or message delay).
    3. Advanced fault handling capabilities, in cases when consumers are more likely to fail to process messages (either temporarily or permanently).
    4. Simpler consumer implementations.
  • Kafka is preferable when we require:
    1. Strict message ordering.
    2. Message retention for extended periods, including the possibility of replaying past messages.
    3. The ability to reach a high scale when traditional solutions do not suffice.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.