Apache Kafka vs. RabbitMQ

Photo by CHUTTERSNAP on Unsplash
  • Consumer Capability: Whether the broker is capable of managing one-to-one and/or one-to-many consumers.
  • Data Persistency: The ability to recover messages.
  • Subscription Types: Whether messages are lost or not if a consumer is down. These are:
    Ephemeral subscription: When the consumer stops running, then the subscription and any unprocessed messages are lost.
    Durable subscription: The subscription is maintained even if a consumer shuts down. When the consumer is running again, the message processing is resumed.

RabbitMQ

  • A traditional general purpose message broker.
  • Supports multiple messaging protocols like AMQP, MQTT, and STOMP.
    AMQP: (Advanced Message Queuing Protocol) An open standard application layer protocol for message-oriented middleware
    MQTT: A lightweight, publish-subscribe network protocol that transports messages between devices
    STOMP: A simple (or streaming) text orientated messaging protocol
  • Delivers messages through both point-to-point and pub-sub methods.
    Point-to-point: It is based on the concept of sending a message to a named destination.
    Pub-sub: Any message published to a topic is immediately received by all of the subscribers to the topic.
  • Supports legacy applications (with plugins)
  • Best at complex routing logic.
  • A consumer then continues to read messages from the queue, often up to a predetermined limit of messages.
https://www.cloudamqp.com/

Kafka

  • Handle high throughput, low latency processing.
  • Replicates a publish-subscribe service.
  • Best at large amounts of data
  • Each server node in the cluster is a “broker,” which stores the data provided by the producer until it is read by the consumer.
https://www.tutorialspoint.com/

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Nil Seri

Nil Seri

I would love to change the world, but they won’t give me the source code | coding 👩🏼‍💻 | coffee ☕️ | jazz 🎷 | anime 🐲 | books 📚 | drawing 🎨