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 = 把发生过的事记录下来,让很多服务都能看。
相关推荐
ch.ju1 小时前
Java Programming Chapter 4——Error in compilation: it cannot be overwritten.
java·开发语言
nice_lcj5201 小时前
排序(4)-归并排序专题——归并排序的分治美学
java·数据结构·算法·排序算法
我登哥MVP1 小时前
SpringCloud 核心组件解析:服务调用和负载均衡
java·spring boot·后端·spring·spring cloud·java-ee·负载均衡
插件开发1 小时前
英伟达cuda程序通用性关键 geforce 20xx代到最新版 在20xx上编译的c++程序可以通用吗?
java·c++·人工智能
JackSparrow4141 小时前
彻底理解Java NIO(三)Java实现 I/O多路复用+Reactor模式及开源框架代码解读
java·c语言·开发语言·后端·nio·reactor模式
程序员黑豆1 小时前
AI全栈开发 - Java:数据类型
java·前端
曹牧1 小时前
Java:Xml中的大、小于
java·开发语言
zavoryn1 小时前
Jackson 序列化踩坑:LocalDateTime、Long 精度丢失和 boolean isXxx 字段
java·开发语言·后端
江华森1 小时前
Tomcat 10 实战部署指南:从零到生产级 Web 容器
java·前端·tomcat