栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

kafka vs rabbitmq vs rocketmq对比

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kafka vs rabbitmq vs rocketmq对比

文章出自

出自 图灵学院四期课件讲义 kafka vs rabbitmq vs rocketmq.pdf

RocketMQ

淘宝内部的交易系统使用了淘宝自主研发的 Notify 消息中间件,使用 Mysql 作为消息存储媒介,可
完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011 年初,linkin 开源
了 Kafka 这个优秀的消息中间件,淘宝中间件团队在对 Kafka 做过充分 Review 之后,Kafka 无限消
息堆积,高效的持久化速度吸引了我们,但是同时发现这个消息系统主要定位于日志传输,对于使用
在淘宝交易、订单、充值等场景下还有诸多特性不满足,为此我们重新用 Java 语言编写了 RocketMQ,
定位于非日志的可靠消息传输(日志场景也 OK),目前 RocketMQ 在阿里集团被广泛应用在订单,
交易,充值,流计算,消息推送,日志流式处理,binglog 分发等场景。

Kafka

Kafka 是 linkedIn 开源的分布式发布-订阅消息系统,目前归属于 Apache 定级项目。Kafka 主要特
点是基于 Pull 的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8
版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互
联网服务的数据收集业务。

RabbitMQ

RabbitMQ 是使用 Erlang 语言开发的开源消息队列系统,基于 AMQP 协议来实现。AMQP 的主要特
征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP 协议更多用在企业
系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。

有关测试结论

Kafka 的吞吐量高达 17.3w/s,不愧是高吞吐量消息中间件的行业老大。这主要取决于它的队列模式
保证了写磁盘的过程是线性 IO。此时 broker 磁盘 IO 已达瓶颈。
RocketMQ 也表现不俗,吞吐量在 11.6w/s,磁盘 IO %util 已接近 100%。RocketMQ 的消息写入内
存后即返回 ack,由单独的线程专门做刷盘的操作,所有的消息均是顺序写文件。
RabbitMQ 的吞吐量 5.95w/s,CPU 资源消耗较高。它支持 AMQP 协议,实现非常重量级,为了保
证消息的可靠性在吞吐量上做了取舍。我们还做了 RabbitMQ 在消息持久化场景下的性能测试,吞吐
量在 2.6w/s 左右。
在服务端处理同步发送的性能上,Kafka>RocketMQ>RabbitMQ。

对比了最简单的小消息发送场景,Kafka 暂时胜出。但是,作为经受过历次双十一洗礼的 RocketMQ,在
互联网应用场景中更有它优越的一面。

功能对比



其它对比


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/332868.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号