apache kafka vs rabbitmq: fit for purpose / decision tree

1
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

Upload: slim-baltagi

Post on 21-Jan-2018

7.685 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Apache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree

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