Kafka vs RabbitMQ vs RocketMQ:消息队列选型面试全攻略

消息队列选型是面试中常见的问题。三个主流 MQ 各有擅长。

简单对比

特性 Kafka RabbitMQ RocketMQ
吞吐 极高(百万/秒) 中等(万/秒) 高(十万/秒)
延迟 毫秒级 微秒级 毫秒级
可靠性 高(副本+ISR) 高(镜像队列) 很高(同步刷盘)
协议 自有协议 AMQP 自定义(兼容 JMS)
事务消息 不原生支持 不支持 支持
顺序消息 分区内有序 不保证 支持
延时消息 不原生支持 插件支持 原生支持

各自的擅长场景

Kafka:日志收集、流处理、大数据管道。核心优势是高吞吐 + 持久化 + 消息回溯。

RabbitMQ:业务解耦、异步调用。核心优势是灵活的路由 + 丰富的插件。

RocketMQ:阿里的交易、物流、支付场景。核心优势是事务消息 + 顺序消息 + 亿级消息堆积。

面试怎么答

选型主要看场景。大数据流处理选 Kafka(高吞吐、持久化);传统业务解耦选 RabbitMQ(灵活路由);金融级可靠性要求选 RocketMQ(事务消息、顺序消息)。

加分项

  • Kafka 的 Topic 逻辑上分为多个 Partition,是并行和扩展的基础
  • RabbitMQ 的 Exchange 有四种类型(direct、topic、fanout、headers)
  • RocketMQ 是阿里双十一的核心基础设施,经过极端场景验证

三个都了解过最好。但至少深入一个。

关于 Zihao Zhang

后端开发工程师。关注 Java/Spring Boot/Redis/MySQL 技术栈,分布式系统,OLAP 数据库,AI Agent 开发与应用。

评论

评论已关闭。