apache kafka vs rabbitmq: fit for purpose / decision tree
TRANSCRIPT
Apache Kafka vs RabbitMQ: Fit For Purpose/Decision Tree
Feature Kafka RabbitMQNeed 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