Kafka vs RocketMq

Kafka vs RocketMq

RocketMq相较kafka,做的最大的提升在于解决Kafka的劣势:低延迟和高可靠性。如RocketMq官方提到

Unfortunately, Kafka can not meet our requirements especially in terms of low latency and high reliability…we decided to invent a new messaging engine to handle a broader set of use cases…

就低延迟和高可靠性分别比较下Kafka和RocketMq。

  • 低延迟

    RocketMQ使用长轮询,Kafka在0.8以前是短轮询方式,但0.8以后版本也支持长轮询。
    长轮询和短轮询的差异在于,短轮询的实时性就取决于轮询间隔。

  • 高可靠性

    RocketMq的高可靠性主要体现在消息重试,和事务性上。Kafka不具备上述两点功能。

⭐️

另外,从分布式架构上来说,Kafka采取的是,每个broker在群集中的地位是一样的,一个broker既可作为Master,也可作为Slave,当Master挂掉之后,会从Slave中选举出新的Master。RocketMq中,一个broker只能要么是Master,要么是Slave。这个在初始的机器配置里面,就定了,Master挂掉之后,就挂掉了,不过只是影响不能写入,消费者会从Slave上进行消费。

Kafka集群管理的中间件使用的是zookeeper, Strom也使用了zookeeper。
RocketMq集群管理的是自己写的NameSrv。

⭐️

然后,从各种插件上来说,Kafka因为年长的优势,插件的内容和形式上来说Kafka就更占优势,例如confluent系列。支持各种语言的客户端,支持数据库交互等等..

不过,就功能上而言,Kafka的确更适合在日志系列领域,RocketMq更适合高实时,高事务性的领域。

⭐️

最后,就性能上而言,网上很多性能上比较的示例,大多都是阿里团队做的,结论是,在单机,高并发的环境下,RocketMq的性能胜于Kafka, 但分布式上来说,鹿死谁手呢,还需要更多的性能测试。

⭐️

以上结论,有任何措辞不适的问题,还请包容和纠正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值