分布式消息队列RocketMQ与Kafka的18项差异之“拨乱反正“之2

本文探讨RocketMQ与Kafka在分布式消息队列中的性能差异,重点关注Topic/Partition数量对性能的影响,Kafka同步刷盘的性能问题,以及RocketMQ如何通过提升消费并行度来优化性能。研究表明,RocketMQ在存储设计和同步刷盘方面表现出优势,而Kafka的Topic或Partition过多可能导致性能下降。
摘要由CSDN通过智能技术生成

在前1篇,我讨论了RocketMQ与Kakfa的对比中,几个不太严谨的地方。本着严谨的精神,不偏袒任何一方,本篇想分析一下RocketMQ在Kafka的基础上,的确做的几个改进。有不对之处,敬请指正。

topic/partion数量对性能的影响

我们知道在Kafka中,是每个topic_partition一个文件。虽然每个文件是顺序IO,但topic或者partition过多,每个文件的顺序IO,表现到磁盘上,还是随机IO。

所以为了改进这个,RocketMQ做了一个存储上的重要改变,就是把所有消息存到一个文件里面,单文件的顺序写。topic、partition(在RocketMQ里面,partition叫做queue),在这里只是一个逻辑上的划分。

关于这个,阿里中间件团队,专门写了一篇博客,测试这个。结论是:topic数量增加到一定程度,kafka性能急剧下降。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值