RabbitMQ vs Kafka 简单总结

RabbitMQ vs Kafka 简单总结

text 复制代码
RabbitMQ:适合"派任务"
Kafka:适合"记事件流水账"

RabbitMQ 像什么?

像老板派活:

text 复制代码
订单创建
  ↓
派任务:扣库存
  ↓
派任务:发短信
  ↓
派任务:超时取消订单

特点:

text 复制代码
消息进 Queue
消费者消费
ACK 后消息一般删除

适合:

text 复制代码
发短信
发邮件
订单超时取消
异步下单
失败重试
延迟任务
业务解耦

核心概念:

text 复制代码
Exchange
Queue
RoutingKey
Binding
Consumer
ACK

Kafka 像什么?

像记流水账:

text 复制代码
10:00 订单创建
10:01 库存扣减
10:02 支付成功
10:03 Agent 生成限购决策

特点:

text 复制代码
消息写入 Topic
进入 Partition
消费者按 Offset 读取
消息消费后还会保留一段时间

适合:

text 复制代码
订单事件流
库存事件流
用户行为日志
风控事件
数据分析
Python Agent 异步分析
多系统订阅同一批事件

核心概念:

text 复制代码
Topic
Partition
Offset
Consumer Group
Producer
Consumer

核心区别表

对比 RabbitMQ Kafka
本质 消息队列 事件流平台
像什么 派任务 记流水账
消息消费后 通常删除 保留一段时间
多系统重复读 不方便 很方便
历史消息重放 不方便 很方便
顺序性 单队列单消费者较好保证 同一 Partition 内有序
高吞吐事件流 可以但不是最优 很适合
延迟任务 很适合 不如 RabbitMQ 自然

项目怎么用?

text 复制代码
Java 高并发秒杀事件 → Kafka → Python 多 Agent 分析

例如:

text 复制代码
订单创建事件
库存扣减事件
支付成功事件
商品爆单事件
风控异常事件

这些适合 Kafka。


text 复制代码
订单超时取消
短信通知
邮件通知
失败重试
库存回补任务

这些适合 RabbitMQ。


总结

text 复制代码
RabbitMQ = 让某个服务去干一件事。

Kafka = 把发生过的事记录下来,让很多服务都能看。
相关推荐
萧瑟余晖1 小时前
JDK 26 新特性详解
java·开发语言
马优晨1 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
Database_Cool_2 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
维天说4 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zane19945 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
噢,我明白了6 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品6 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
啊湘6 小时前
天气查询API接口 按月Token鉴权 实时天气 物联网可用 文档齐全
java·后端·struts
Java内核笔记6 小时前
告别十亿美元的错误 : Spring Boot 4 空安全 (JSpecify) 实战
java·spring boot·后端
糖果店的幽灵6 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph