RocketMQ与kafka对比(18项差异)

  • 时间:
  • 浏览:0
  • 来源:大发彩神UU快三_大发神彩UU快三官方

定时消息

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

向服务器上传一段Java代码,都需用对消息做任意形式的过滤,甚至都需用做Message身体的过滤拆分。

消息堆积能力

理论上Kafka要比RocketMQ的堆积能力更强,不过RocketMQ单机也都需用支持亿级的消息堆积能力,朋友认为这个 堆积能力机会完整性都需用满足业务需求。

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

总结:累似 充值类应用,当前时刻调用运营商网关,充值失败,机会是对方压

严格的消息顺序

开源社区活跃度

RocketMQ支持按照时间来回溯消息,精度毫秒,累似 从一天很久的某时某分某秒开始英文英文重新消费消息

总结:典型业务场景如consumer做订单分析,但会 机会程序池池逻辑机会依赖的系统发生故障等意味着,意味着今天消费的消息完整性无效,需用重新从昨天零点开始英文英文消费,如此以时间为起点的消息重放功能对于业务非常有帮助。

消费并行度

RocketMQ支持根据消息标识查询消息,也支持根据消息内容查询消息(发送消息时指定另一另三个小消息密钥,任意字符串,累似 指定为订单编号)

卡夫卡不支持消息查询

卡夫卡在日志领域比较成熟图片 图片 的句子的句子 的句子

Kafka使用短轮询办法,实时性取决于轮询间隔时间,0.8很久版本支持长轮询。

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

消费失败重试

淘宝内部人员的交易系统使用了淘宝自主研发的Notify消息上方件,使用Mysql作为消息存储媒介,可完整性水平扩容,为了进一步降低成本,朋友认为存储每种都需用进一步优化,2011年初,Linkin开源了Kafka这个 优秀的消息上方件,淘宝上方件团队在对Kafka做过充分Review很久,Kafka无限消息堆积,高效的持久化时延吸引了朋友,但会 一起发现这个 消息系统主要定发生日志传输,对于使用在淘宝交易、订单、充值等场景下还有诸多特征不满足,为此朋友重新用Java语言编写了RocketMQ,定发生非日志的可靠消息传输(日志场景也OK),目前RocketMQ在阿里集团被广泛应用在订单,交易,充值,流计算,消息推送,日志流式防止,binglog采集等场景。

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

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

分布式事务消息

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

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

RocketMQ采用的Java语言编写

券商端消息过滤

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

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

Producer通常为分布式系统,且每台机器全是程序池池发送,朋友认为线上的系统单个Producer每秒产生的数据量有限,不机会上万。

缓存的功能完整性都需用由上层业务完成。

单机支持的队列数

Kafka单机超过6另一另三个小队列/分区,Load会发生明显的飙高这个 的间题,队列不要 ,load越高,发送消息响应时间变长。Kafka分区数无法不要 的这个 的间题

RocketMQ单机支持最高5万个队列,负载不要 发生明显变化

队列多有这个 好处?

单机都需用创建更多话题,机会每个主题全是由一批队列组成

消费者的集群规模和队列数成正比,队列不要 ,消费类集群都需用越大

消息投递实时性

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

消息查询

顺序消费办法并行度同卡夫卡完整性一致

乱序办法并行度取决于Consumer的程序池数,如Topic配置10个队列,10台机器消费,每台机器200个程序池,如此并行度为2000。

消息轨迹

卡夫卡不支持消息轨迹

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

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

更多MQ相关内容

性能对比

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

RocketMQ单机写入TPS单实例约5万条/秒,单机部署三个小Broker,都需用跑到最高12万条/秒,消息大小10个字节

总结:Kafka的TPS跑到单机百万,主很久机会Producer端将多个小消息合并,批量发向Broker。

RocketMQ为这个 如此如此做?

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

卡夫卡理论上都需用按照偏移来回溯消息

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

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

卡夫卡不支持定时消息

RocketMQ支持两类定时消息

卡夫卡采用斯卡拉编写

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

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

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

RocketMQ支持异步实时刷盘,同步刷盘,同步qq克隆好友 ,异步qq克隆好友

卡夫卡使用异步刷盘办法,异步qq克隆好友 /同步qq克隆好友

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

数据可靠性

Kafka的消费并行度依赖Topic配置的分区数,如分区数为10,如此最多10台机器来并行消费(每台机器必须开启另一另三个小程序池),机会一台机器消费(10个程序池并行消费)。即消费并行度和分区数一致。

RocketMQ消费并行度分并不是情況

总结:消息查询对于定位消息丢失这个 的间题非常有帮助,累似 某个订单防止失败,是消息没收到还是收到防止出错了。

消息回溯

卡夫卡社区更新较慢

RocketMQ的GitHub的社区有2200个一些人,公司用户登记了联系办法,QQ群超过2000人。 MQ ###商业支持

卡夫卡原开发团队成立新公司,目前暂如此相关产品看一遍

RocketMQ在阿里云机会商业化,目前以云服务形式供朋友商用,并向用户承诺99.99%的可靠性,一起彻底防止了用户一些人搭建MQ产品的运维复杂化性这个 的间题

成熟图片 图片 的句子的句子 的句子 度

阿里云MQ支持消息轨迹

开发语言友好性

RocketMQ支持并不是代理端消息过滤办法