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 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
东小西1 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西2 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
许彰午2 小时前
22-DataCenter报文序列化
java·低代码·架构·状态模式
2601_962065252 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql
小范同学_2 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
予昊3 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
2601_962203513 小时前
【SpringAI入门】初识SpringAI
java
weixin_461408584 小时前
Mybatis-flex小记
java·开发语言·mybatis
2601_962177134 小时前
【MySQL篇】聚合查询,联合查询
android·java·mysql