RocketMQ与kafka对比(18项差异)

  • 时间:
  • 浏览:1
  • 来源:uu快3棋牌_uu快3讨论群_规律

卡夫卡支持消息顺序,也不一台代理宕机后,就会产生消息乱序

RocketMQ支持严格的消息顺序,在顺序消息场景下,一台Broker宕机后,发送消息会失败,也不不多再乱序

MySQL的二进制日志采集需用严格的消息顺序

Kafka的消费并行度依赖Topic配置的分区数,如分区数为10,这麼最多10台机器来并行消费(每台机器可不多再要再 不多再 开启4个 多线程 ),前一天一台机器消费(10个多线程 并行消费)。即消费并行度和分区数一致。

RocketMQ消费并行度分四种 情况表

RocketMQ消费失败支持定时重试,每次重试间隔时间顺延

总结:同类充值类应用,当前时刻调用运营商网关,充值失败,前一天是对方压

RocketMQ支持按照时间来回溯消息,精度毫秒,同类从一天前一天的某时某分某秒前一天也不也不结束了了重新消费消息

总结:典型业务场景如consumer做订单分析,也不前一天多线程 逻辑前一天依赖的系统位于故障等意味着,意味着今天消费的消息完整无效,需用重新从昨天零点前一天也不也不结束了了消费,这麼以时间为起点的消息重放功能对于业务非常有帮助。

消费并行度

总结:消息查询对于定位消息丢失大大问题 非常有帮助,同类某个订单正确处理失败,是消息没收到还是收到正确处理出错了。

消息回溯

卡夫卡社区更新较慢

RocketMQ的GitHub的社区有260 个此人 ,公司用户登记了联系最好的辦法 ,QQ群超过60 0人。 MQ ###商业支持

卡夫卡原开发团队成立新公司,目前暂这麼相关产品想看

RocketMQ在阿里云前一天商业化,目前以云服务形式供亲戚亲戚大伙商用,并向用户承诺99.99%的可靠性,一并彻底正确处理了用户此人 搭建MQ产品的运维僵化 性大大问题

心智心智心智心智心智早熟的句子 是什么是什么是什么是什么度

企业级互联网架构Aliware,让您的业务能力云化:https://www.aliyun.com/aliware

卡夫卡采用斯卡拉编写

RocketMQ支持四种 代理端消息过滤最好的辦法

RocketMQ采用的Java语言编写

券商端消息过滤

RocketMQ支持根据消息标识查询消息,也支持根据消息内容查询消息(发送消息时指定4个 消息密钥,任意字符串,同类指定为订单编号)

卡夫卡不支持代理端的消息过滤

淘宝外部的交易系统使用了淘宝自主研发的Notify消息上边件,使用Mysql作为消息存储媒介,可完整水平扩容,为了进一步降低成本,亲戚亲戚大伙认为存储要素可不多再要再 进一步优化,2011年初,Linkin开源了Kafka这人优秀的消息上边件,淘宝上边件团队在对Kafka做过充分Review前一天,Kafka无限消息堆积,高效的持久化波特率吸引了亲戚亲戚大伙,也不一并发现这人消息系统主要定位于日志传输,对于使用在淘宝交易、订单、充值等场景下还有诸多形态不满足,为此亲戚亲戚大伙重新用Java语言编写了RocketMQ,定位于非日志的可靠消息传输(日志场景也OK),目前RocketMQ在阿里集团被广泛应用在订单,交易,充值,流计算,消息推送,日志流式正确处理,binglog采集等场景。

卡夫卡消费失败不支持重试。

根据消息变量来过滤,大约子主题概念

向服务器上传一段Java代码,可不多再要再 对消息做任意形式的过滤,甚至可不多再要再 做Message身体的过滤拆分。

消息堆积能力

理论上Kafka要比RocketMQ的堆积能力更强,不过RocketMQ单机也可不多再要再 支持亿级的消息堆积能力,亲戚亲戚大伙认为这人堆积能力前一天完整可不多再要再 满足业务需求。

阿里云MQ支持消息轨迹

开发语言友好性

Kafka使用短轮询最好的辦法 ,实时性取决于轮询间隔时间,0.8前一天版本支持长轮询。

RocketMQ使用长轮询,同Push最好的辦法 实时性一致,消息的投递延时通常在十有几个 毫秒。

消费失败重试

RocketMQ支持异步实时刷盘,同步刷盘,同步复制,异步复制

卡夫卡使用异步刷盘最好的辦法 ,异步复制/同步复制

总结:RocketMQ的同步刷盘在单机可靠性上比Kafka更高,不多再前一天操作系统Crash,意味着数据丢失。Kafka同步Replication理论上性能低于RocketMQ的同步Replication,意味着是Kafka的数据以分区为单位组织,意味着4个 Kafka实例上会​​有几百个数据分区,RocketMQ4个 实例上只4个 数据分区,RocketMQ可不多再要再 充分利用IO组Commit机制,批量传输数据,配置同步Replication与异步Replication相比,性能损耗约20%~60 %,Kafka这麼亲自测试过,也不此人 认为理论上会低于RocketMQ。

性能对比

数据可靠性

卡夫卡理论上可不多再要再 按照偏移来回溯消息

卡夫卡不支持定时消息

RocketMQ支持两类定时消息

卡夫卡单机写入TPS约在百万条/秒,消息大小10个字节

RocketMQ单机写入TPS单实例约15万条/秒,单机部署4个Broker,可不多再要再 跑到最高12万条/秒,消息大小10个字节

总结:Kafka的TPS跑到单机百万,主也不前一天Producer端将多个小消息合并,批量发向Broker。

RocketMQ为这人这麼这麼做?

制片人通常使用的Java语言,缓存不多消息,GC是个很严重的大大问题

Producer调用发送消息接口,消息未发送到Broker,向业务返回成功,此时Producer宕机,会意味着消息丢失,业务出错

Producer通常为分布式系统,且每台机器都有多线程 发送,亲戚亲戚大伙认为线上的系统单个Producer每秒产生的数据量有限,不前一天上万。

缓存的功能完整可不多再要再 由上层业务完成。

单机支持的队列数

Kafka单机超过64个 队列/分区,Load会位于明显的飙高大大问题 ,队列不多,load越高,发送消息响应时间变长。Kafka分区数无法不多的大大问题

RocketMQ单机支持最高15万个队列,负载不多再位于明显变化

队列多有这人好处?

单机可不多再要再 创建更多话题,前一天每个主题都有由一批队列组成

消费者的集群规模和队列数成正比,队列不多,消费类集群可不多再要再 越大

消息投递实时性

这里的重试需用可靠的重试,即失败重试的消息不前一天Consumer宕机意味着丢失。

卡夫卡不支持消息查询

卡夫卡在日志领域比较心智心智心智心智心智早熟的句子 是什么是什么是什么是什么

开源社区活跃度

定时消息

顺序消费最好的辦法 并行度同卡夫卡完整一致

乱序最好的辦法 并行度取决于Consumer的多线程 数,如Topic配置10个队列,10台机器消费,每台机器60 个多线程 ,这麼并行度为60 0。

消息轨迹

卡夫卡不支持消息轨迹

阿里云MQ支持分布式事务消息,未来开源版本的RocketMQ都有计划支持分布式事务消息

消息查询

RocketMQ在阿里集团外部有小量的应用在使用,每天都产生海量的消息,也不顺利支持了多次天猫双十一海量消息考验,是数据削峰填谷的利器。

更多MQ相关内容

力不多,稍后再调用就会成功,如支付宝到银行扣款也是同类需求。

严格的消息顺序

开源版本RocketMQ仅支持定时级别,定时级用户可定制

阿里云MQ指定的毫秒级别的延时时间

分布式事务消息

卡夫卡不支持分布式事务消息