中间件速查手册
Compare · 3 个对象

Kafka vs RocketMQ vs RabbitMQ

消息队列三件套:吞吐、功能、运维三张表看完就能选型
从谁的角度看
Kafka vs RocketMQ vs RabbitMQ 对比表
对比维度
Kafka
吞吐之王,日志与流处理
RocketMQ
交易场景,功能最全
RabbitMQ
路由灵活,轻量解耦
性能与容量
单机吞吐量百万级/秒十万级/秒万级/秒
消息延迟毫秒级(批量发送会拉高)毫秒级微秒~毫秒级,最低
消息堆积能力磁盘顺序存,极强磁盘顺序存,极强内存优先,堆积后明显下降
功能特性
事务消息不支持(仅事务写)原生支持(半消息 + 回查)不支持(需自己实现)
延迟消息不支持原生 18 级 + 5.x 定时消息TTL + 死信队列模拟
顺序消息Partition 内有序Queue 内严格有序单 Queue 有序
消息路由只按 Topic/分区Topic + Tag 过滤四种 Exchange,最灵活
消息回溯按 offset / 时间重置,强按时间回溯,支持不支持(消费即删)
运维与生态
依赖组件ZooKeeper 或 KRaftNameServer(无状态)Erlang 运行时
运维复杂度高中低
多语言客户端最全Java 为主,其他较弱很全
典型用户LinkedIn、Uber、各大数仓阿里、滴滴、美团中小企业、传统行业
一句话选型
什么时候选它日志采集、埋点、流处理、大数据管道电商交易、金融、需要事务/延迟/顺序消息业务解耦、任务分发、消息量不大但要灵活路由

点某一行可以高亮该维度,方便逐条横向读;移动端左右滑动查看全部列。

选型建议

Kafka

数据量大、要接 Flink/Spark、能接受较高运维成本,闭眼选。

RocketMQ

做交易和钱相关的业务,需要事务消息或延迟消息,选它最省事。

RabbitMQ

团队小、消息量万级、要按规则分发到不同队列,选它上手最快。

一句话结论

一句话:吞吐选 Kafka,业务语义选 RocketMQ,路由灵活和轻量选 RabbitMQ。三者不是替代关系,很多公司同时用两个。

其他对比