Help Center/ Distributed Message Service for Kafka/ Service Overview/ Comparing Kafka, RabbitMQ, and RocketMQ
Updated on 2024-11-11 GMT+08:00

Comparing Kafka, RabbitMQ, and RocketMQ

Table 1 Functions

Feature

RocketMQ

Kafka

RabbitMQ

Priority queue

Not supported

Not supported

  • V3.8.35: Supported. It is recommended that the priority be set to 0–10.
  • AMQP-0-9-1: Supported. Set the priority to 1–9.

Delayed queue

Supported

Not supported

  • V3.8.35: Not supported.
  • AMQP-0-9-1: Supported.

Dead letter queue

Supported

Not supported

Supported

Message retry

Supported

Not supported

  • V3.8.35: Not supported.
  • AMQP-0-9-1: 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.

  • V3.8.35: Not supported. Once a message retrieval has been acknowledged, RabbitMQ will be notified that the message can be deleted.
  • AMQP-0-9-1: Supported.

Message accumulation

Supported

Supports higher accumulation performance than RabbitMQ thanks to high throughput.

Supported

Persistence

Supported

Supported

Supported

Message tracing

Supported

Not supported

  • V3.8.35: Not supported.
  • AMQP-0-9-1: Supported.

Message filtering

Supported

Supported

  • V3.8.35: Not supported, but can be encapsulated.
  • AMQP-0-9-1: Supported.

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.

  • 3.8.35: SSL authentication is supported.
  • AMQP-0-9-1: ACL is supported.

Transactional messages

Supported

Supported

Supported