Comparing RabbitMQ, Kafka, 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 |
Supported |
Supported |
Multi-protocol |
Compatible with RocketMQ. |
Only supports Apache Kafka. |
RabbitMQ is based on AMQP. |
Multi-language |
Supports clients in multiple programming languages. |
Kafka is written in Scala and Java and supports clients in multiple programming languages. |
Supports clients in multiple programming languages. |
Throttling |
RocketMQ 5.x supports traffic control based on instance specifications. |
Supports throttling on producer or consumer clients, users, and topics. |
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. |
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