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 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里1 天前
java中的继承和多态的区别
java
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕1 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码1 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖1 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时1 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang1 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi1 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号1 天前
java函数式编程--入门基础
java·编程·函数式编程