千家信息网

如何进行Kafka、RabbitMQ、RocketMQ消息中间件消息发送性能的对比

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家介绍如何进行Kafka、RabbitMQ、RocketMQ消息中间件消息发送性能的对比,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。摘要 引言 分布式系统中,我们广
千家信息网最后更新 2026年11月03日如何进行Kafka、RabbitMQ、RocketMQ消息中间件消息发送性能的对比

这篇文章给大家介绍如何进行Kafka、RabbitMQ、RocketMQ消息中间件消息发送性能的对比,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

摘要 引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。 那么,消息中间件性能究竟哪家强? 带着这个疑问,我们中间件测试组对常见的三类消息产品(Kafka、...

引言

分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。

那么,消息中间件性能究竟哪家强?

带着这个疑问,我们中间件测试组对常见的三类消息产品(Kafka、RabbitMQ、RocketMQ)做了性能比较。

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

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

RocketMQ是阿里开源的消息中间件,它是纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。RocketMQ思路起源于Kafka,但并不是Kafka的一个Copy,它对消息的可靠传输及事务性做了优化,目前在阿里集团被广泛应用于交易、充值、流计算、消息推送、日志流式处理、binglog分发等场景。

测试目的

对比Kafka、RabbitMQ、RocketMQ发送小消息(124字节)的性能。这次压测我们只关注服务端的性能指标,所以压测的标准是:

不断增加发送端的压力,直到系统吞吐量不再上升,而响应时间拉长。这时服务端已出现性能瓶颈,可以获得相应的系统最佳吞吐量。

测试场景

在同步发送场景中,三个消息中间件的表现区分明显:

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。

附录:
测试环境

服务端为单机部署,机器配置如下:

CPU24核
内存94G
硬盘Seagate Constellation ES (SATA 6Gb/s) 2,000,398,934,016 bytes [2.00 TB] 7202 rpm
网卡1000Mb/s

应用版本:

消息中间件版本
Kafka0.8.2
RabbitMQ3.5.4
RocketMQ3.4.6
测试脚本
压力端Jmeter的java客户端
消息大小128字节
并发数能达到服务端最大TPS的最优并发
Topic分区数量8
刷盘策略Kafka和RocketMQ为异步落盘,RabbitMQ的Queue不开启durable持久化

关于如何进行Kafka、RabbitMQ、RocketMQ消息中间件消息发送性能的对比就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

消息 中间件 性能 吞吐量 吞吐 系统 测试 服务 场景 数据 产品 分布式 可靠性 时间 更多 版本 磁盘 队列 处理 应用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 什么是科技互联网 广东万易互联网科技有限公司惠州分公司 广州大一互联网络科技有限公司 互联网科技产业 湖南永感互联网科技有限公司 北京互联网科技公司 卫星互联网科技股票 新华互联网科技2019 互联网科技实习生岗位职责 互联网科技寓意 金融科技与互联网金融相同和不同 深圳市优智互联网科技有限公司 开一家科技互联网公司需要多少钱 南通创西澳互联网科技有限公司 山东大美朱楼互联网科技有限公司 互联网公司属于科技吗 恒生互联网科技趋势 高科技和互联网的现代国家 前海云享互联网科技 互联网高科技 互联网科技社 互联网科技网站 撒么互联网科技公司 重庆科技学院互联网 居家互联网科技有限公司 成都玖崟互联网科技有限公司乐商圈怎么样 青海科技产业互联网发展 互联网科技创新的路径 扫呗互联网科技有限公司
0