Comparing Kafka, RabbitMQ, and RocketMQ
Feature |
RocketMQ |
Kafka |
RabbitMQ |
---|---|---|---|
Priority queue |
Not supported |
Not supported |
Supported. It is recommended that the priority be set to 0–10. |
Delayed queue |
Supported |
Not supported |
Supported |
Dead letter queue |
Supported |
Not supported |
Supported |
Message retry |
Supported |
Not supported |
Not supported |
Retrieval mode |
Pull-based and push-based |
Pull-based |
Pull-based and push-based |
Message broadcasting |
Supported |
Supported |
Supported |
Message tracking |
Supported |
Supports offset and timestamp tracking. |
Not supported. Once a message retrieval has been acknowledged, RabbitMQ will be notified that the message can be deleted. |
Message accumulation |
Supported |
Supports higher accumulation performance than RabbitMQ thanks to high throughput. |
Supported |
Persistence |
Supported |
Supported |
Supported |
Message tracing |
Supported |
Not supported |
Supported by the firehose feature or the rabbitmq_tracing plugin. However, rabbitmq_tracing reduces performance and should be used only for troubleshooting. |
Message filtering |
Supported |
Supported |
Not supported, but can be encapsulated. |
Multi-tenancy |
Supported |
Not supported |
Supported |
Multi-protocol |
Compatible with RocketMQ. |
Only supports Apache Kafka. |
RabbitMQ is based on AMQP and supports MQTT and STOMP. |
Multi-language |
Supports clients in multiple programming languages. |
Kafka is written in Scala and Java and supports clients in multiple programming languages. |
RabbitMQ is written in Erlang and supports clients in multiple programming languages. |
Throttling |
Planned |
Supports throttling on producer or consumer clients. |
Supports credit-based throttling on producers, a mechanism that triggers protection from within. |
Ordered message delivery |
Message order is maintained within a queue. |
Supports partition-level FIFO. |
Not supported. Supports FIFO only for single-threaded message queuing without advanced features such as delayed queues or priority queues. |
Security |
Supports SSL authentication. |
Supports SSL and SASL authentication and read/write permissions control. |
Supports SSL. |
Transactional messages |
Supported |
Supported |
Supported |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot