Kafka、RocketMQ、RabbitMQ 三大消息队列

我给你用最通俗、面试必过、工作直接用 的方式讲清楚:

Kafka、RocketMQ、RabbitMQ 三大消息队列到底差在哪?怎么选?

全程不绕弯、不堆砌概念,直接给结论 + 选型口诀


一、一句话分清三者

  1. RabbitMQ :老牌、稳定、轻量、功能全,中小项目首选
  2. RocketMQ :阿里出品、高吞吐、低延迟、金融电商首选
  3. Kafka :超高性能、日志/流处理、大数据场景首选

二、核心区别(一张表看懂)

维度 RabbitMQ RocketMQ Kafka
开发语言 Erlang Java Scala/Java
吞吐量 中等(万级) 高(十万级) 极高(百万级)
延迟 微秒级 微秒级 毫秒级
可靠性 极高
功能丰富度 最全 少(专注流)
大数据/日志 不适合 适合 天生适合
事务消息 (金融级)
学习成本 中高
社区 全球最成熟 国内强 全球最强

三、最关键的 4 个核心差异(面试必问)

1. 吞吐量(谁最快)

Kafka > RocketMQ > RabbitMQ

  • Kafka:百万级 TPS,专门吃大数据、日志、流计算
  • RocketMQ:十万级 TPS,阿里双11扛过流量
  • RabbitMQ:万级 TPS,足够中小系统、微服务

2. 功能谁最强

RabbitMQ > RocketMQ > Kafka

  • RabbitMQ:交换机类型多、延迟队列、死信、优先级、插件生态无敌
  • RocketMQ:够用、标准、金融级可靠
  • Kafka:功能极简,只专注高性能

3. 可靠性 & 事务

RocketMQ(金融级) > RabbitMQ > Kafka

RocketMQ 是唯一真正支持分布式事务消息的中间件。

4. 大数据场景

只有 Kafka 是王者

日志收集、流处理(Flink/Spark)、数据管道 → 必须 Kafka


四、最实用:企业到底怎么选?(直接背)

1. 选 RabbitMQ 的场景

  • 中小型项目
  • 微服务解耦
  • 功能需求多(延迟队列、死信、路由)
  • 团队不大、不想维护复杂组件
  • 追求稳定、简单、省心

一句话:小而美、稳、快上线。

2. 选 RocketMQ 的场景

  • 电商、订单、支付、金融
  • 高并发、高可用
  • 需要事务消息
  • 中国公司、阿里云生态、Java 技术栈
  • 追求高性能 + 高可靠

一句话:阿里双11级别,靠谱、能打。

3. 选 Kafka 的场景

  • 日志收集
  • 用户行为上报
  • 大数据、流处理
  • 高吞吐、高堆积
  • 数据管道、数仓同步

一句话:大数据、日志、流处理 = 直接 Kafka


五、终极选型口诀(面试直接说)

复制代码
小项目、玩功能 → RabbitMQ
高并发、做交易 → RocketMQ
大数据、打日志 → Kafka

六、给你个人的最实用建议(你面试/工作都能用)

你现在面试 Java 后端、大数据、中间件 都会问这个。

你可以这样回答(满分版):

  • RabbitMQ 功能最丰富、延迟队列、死信队列很强,适合中小系统。
  • RocketMQ 是阿里开源,高吞吐、高可靠,支持事务消息,适合金融电商。
  • Kafka 吞吐最高,适合日志、大数据流处理场景。

最终选择根据业务场景:
小系统选RabbitMQ,电商交易选RocketMQ,大数据选Kafka。


相关推荐
六点_dn2 小时前
RabbitMQ学习笔记-部署和使用
笔记·学习·rabbitmq
笨蛋不要掉眼泪8 小时前
RabbitMQ消息队列:业务幂等性
分布式·rabbitmq·java-rabbitmq
菜地里的小菜鸟9 小时前
k8s部署单节点 Kafka(KRaft 模式)并启用 SASL 认证
kafka·kraft·k8s部署单节点kafkakraft模式·k8s部署kafka
笨蛋不要掉眼泪9 小时前
RabbitMQ消息队列:延迟消息
java·rabbitmq·java-rabbitmq
Volunteer Technology9 小时前
Kafka的消费全流程
分布式·kafka·linq
篮框坏了11 小时前
Kafka 消费者卡死排查:一个 topic 堵了 18 小时,监控全绿没人发现
kafka
Linux运维技术栈11 小时前
业务不停机、数据零丢失:Redis / RabbitMQ / Elasticsearch 三大核心中间件升级改造集群无缝平滑迁移
redis·elasticsearch·rabbitmq
六点_dn12 小时前
RabbitMQ常见知识点总结
分布式·rabbitmq
放学-别走12 小时前
flink和kafka常见面试题
大数据·flink·kafka
笨蛋不要掉眼泪1 天前
RabbitMQ消息队列:MQ的可靠性
分布式·rabbitmq·java-rabbitmq