分布式消息服务RocketMQ版
分布式消息服务RocketMQ版
- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
- API参考
- SDK参考
- 常见问题
- 视频帮助
- 文档下载
- 通用参考
本文导读
展开导读
链接复制成功!
与Kafka、RabbitMQ的差异
功能项 |
RocketMQ |
Kafka |
RabbitMQ |
---|---|---|---|
优先级队列 |
不支持 |
不支持 |
|
延迟队列 |
支持 |
不支持 |
|
死信队列 |
支持 |
不支持 |
支持 |
消息重试 |
支持 |
不支持 |
|
消费模式 |
支持客户端主动拉取和服务端推送两种方式。 |
客户端主动拉取。 |
支持客户端主动拉取和服务端推送两种模式。 |
广播消费 |
支持 |
支持 |
支持 |
消息回溯 |
支持 |
支持。Kafka支持按照offset和timestamp两种维度进行消息回溯。 |
|
消息堆积 |
支持 |
支持。考虑吞吐因素,Kafka的堆积效率比RabbitMQ总体上要高。 |
支持 |
持久化 |
支持 |
支持 |
支持 |
消息追踪 |
支持 |
不支持 |
|
消息过滤 |
支持 |
支持 |
|
多租户 |
支持 |
支持 |
支持 |
多协议支持 |
兼容RocketMQ协议。 |
只支持Kafka自定义协议。 |
RabbitMQ基于AMQP协议实现。 |
跨语言支持 |
支持多语言的客户端。 |
采用Scala和Java编写,支持多种语言的客户端。 |
支持多种语言的客户端。 |
流量控制 |
RocketMQ 5.x支持基于实例规格的流量控制。 |
支持client、user和Topic级别,通过主动设置可将流控作用于生产者或消费者。 |
RabbitMQ的流控基于Credit-Based算法,是内部被动触发的保护机制,作用于生产者层面。 |
消息顺序性 |
单队列(queue)内有序。 |
支持单分区(partition)级别的顺序性。 |
单线程发送、单线程消费并且不采用延迟队列、优先级队列等一些高级功能时,才能实现消息有序。 |
安全机制 |
支持SSL认证。 |
支持SSL、SASL身份认证和读写权限控制。 |
|
事务性消息 |
支持 |
支持 |
支持 |