Apache Kafka vs RabbitMQ: Fit For Purpose/Decision Tree Feature Kafka RabbitMQ Need a durable message store and message replay capability Y N Need ordered storage and delivery Y* N Need multiple different consumer of same data Y N Need to handle throughput of all my data well even at web scale and not a smaller set of messages Y N Need a high throughput with low latency Y N Need to decouple producers and consumers from a performance perspective to avoid the ’slow consumer problem’ Y N Need good integration with the Hadoop ecosystem and modern stream processing frameworks Y N Need a good buffer for batch systems to scale well to large backlogs Y N Need same tool for building data pipelines and streaming data applications without the help of additional software. Y N Need support for multiple protocols: AMQP, STOMP, JMS, MQTT, HTTP, JSON-RPC, … N Y Need message priority: producers can specify the priority of messages to consumers N Y Need explicit delivery processing acknowledgements of messages from consumers N Y Need flexible routing: producers direct messages to appropriate consumers N Y Need transaction support: provide commit and rollback functionality for local transactions N Y Need native tracing support to let me find out what's going on if things are misbehaving. N Y Need a browser-based UI for management and monitoring of my message brokers. N Y Need a self-sufficient message broker without additional tool such as Zookeeper N Y *At partition level. By @SlimBaltagi from Advanced Analytics LLC

Apache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree

  • 1.
    Apache Kafka vsRabbitMQ: Fit For Purpose/Decision Tree Feature Kafka RabbitMQ Need a durable message store and message replay capability Y N Need ordered storage and delivery Y* N Need multiple different consumer of same data Y N Need to handle throughput of all my data well even at web scale and not a smaller set of messages Y N Need a high throughput with low latency Y N Need to decouple producers and consumers from a performance perspective to avoid the ’slow consumer problem’ Y N Need good integration with the Hadoop ecosystem and modern stream processing frameworks Y N Need a good buffer for batch systems to scale well to large backlogs Y N Need same tool for building data pipelines and streaming data applications without the help of additional software. Y N Need support for multiple protocols: AMQP, STOMP, JMS, MQTT, HTTP, JSON-RPC, … N Y Need message priority: producers can specify the priority of messages to consumers N Y Need explicit delivery processing acknowledgements of messages from consumers N Y Need flexible routing: producers direct messages to appropriate consumers N Y Need transaction support: provide commit and rollback functionality for local transactions N Y Need native tracing support to let me find out what's going on if things are misbehaving. N Y Need a browser-based UI for management and monitoring of my message brokers. N Y Need a self-sufficient message broker without additional tool such as Zookeeper N Y *At partition level. By @SlimBaltagi from Advanced Analytics LLC