- kafka与rocketmq的差异,参考链接:http://jm.taobao.org/2016/03/24/rmq-vs-kafka/
- 总体
- kafka无限消息堆积,高效持久化,适合海量日志处理
- rocketmq增加了事物支持,适用于订单,交易,充值等场景,支持定时消息,消息重试,消息回溯,广播消费,消息轨迹查询,消息查询等。
- 消息可靠性
- rocketmq支持同步刷盘,异步刷盘,同步刷盘可靠性高,但是与异步刷盘相比,性能损失20%-30%
- kafka只支持异步刷盘
- rocketmq同步复制的性能比kafka高,因为log文件以分区的形式组织,rocketmq一个实例只有一个分区,利用IO组的commit,批量传输数据,理论上会高些
- 单机支持的队列数
- kafka超过64个队列,发送消息的响应时间变长
- rocketmq最高支持5万个队列
- 队列越多,topic越多,即支持的业务越多。
- 消息投递的实时性
- 都支持pull长轮询,但是rocketmq的消息及时性较好
- 严格的消息顺序
- kafka当broker宕机后,消息乱序,而且只有分区内的消息顺序一致性可以保证
- rocketmq支持严格的消息顺序,broker宕机,消息发送失败,但是不会乱序。
- 总体
- 消息及时性:https://yq.aliyun.com/articles/62836
- 当消息量上升时,kafka的堆积能力强于rocketmq,kafka的生产者发送速度远大于rocketmq,但是消息的消费速度,rocketmq较强,因此在消息的及时性方面,rocketmq完胜kafka
- 官方解释说因为rocketmq的索引机制较好。
这篇内容对比了Kafka和RocketMQ在消息可靠性、单机支持队列数、消息投递实时性和严格消息顺序等方面的差异。Kafka擅长海量日志处理,支持异步刷盘,但在严格消息顺序上不如RocketMQ。RocketMQ提供事务支持,适合订单等场景,支持同步刷盘和更多的队列,消息及时性更优。
1万+

被折叠的 条评论
为什么被折叠?



