CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
RabbitMQ 入门/课时/RabbitMQ 是什么
RawBlame
课时目录12 节

RabbitMQ 入门

  1. 01RabbitMQ 是什么
  2. 02核心概念
  3. 03Docker 运行 RabbitMQ
  4. 04发布与消费
  5. 05Exchange 类型
  6. 06Spring AMQP
  7. 07可靠性与死信
  8. 08常见模式
  9. 09RabbitMQ vs Kafka
  10. 10监控与管理
  11. 11Compose 联调
  12. 12综合练习

RabbitMQ 是什么

AMQP 模型;与 Kafka、Redis Pub/Sub 对比。

25 分钟

RabbitMQ 是什么

RabbitMQ 是开源 AMQP 消息代理:Producer 把消息交给 Exchange,经 Binding 路由到 Queue,Consumer 从队列取走并 ack。CodeRoadMap 主栈是 MySQL + 可选 Redis;RabbitMQ 作为 任务队列 lab,与 kafka-intro 对照理解「队列型 vs 日志型」MQ。

学习目标

  • 说出 AMQP 0-9-1 里 Broker、Exchange、Queue 各管什么
  • 区分「任务队列」与「事件流」两类业务诉求
  • 对比 RabbitMQ、Kafka、redis-pubsub 的适用边界

核心内容

为什么需要 RabbitMQ

同步 HTTP 调用链路过长时,下单 API 还要等发邮件、算积分。更稳妥的做法:订单写入 MySQL 并提交事务(见 sb-transaction),再投递「订单已创建」消息,后台 Worker 慢慢处理。

[Spring Boot API] --publish--> [Exchange: order.events]
                                      |
                                      v
                               [Queue: notify.email]
                                      |
                                      v
                               [邮件 Worker 消费 + ack]

RabbitMQ 擅长 领任务、确认删除、灵活路由;Kafka 擅长 录日志、多组重放(kafka-vs-mq)。

与 Redis、Kafka 对照

场景RedisRabbitMQKafka
缓存失效广播✅ Pub/Sub可以 fanout过重
异步发邮件/导出❌ 无持久队列语义✅ 工作队列可以但偏流
审计事件多订阅重放❌一般✅
延迟/死信路由有限✅ DLX靠时间戳 topic

本站 缓存与 Session 仍走 redis-essentials;跨服务任务 用 RabbitMQ lab 练手;行为埋点、事件溯源实验 见 Kafka track。

CodeRoadMap 中的位置

主 API 仍是 spring-boot-essentials REST + JPA。RabbitMQ 以 Docker 本地 Profile 接入,不替代 MySQL 真相源;消息体宜带 orderId 等快照字段,消费失败可 nack 重试。

练习

  • 画一张「用户注册」经 RabbitMQ 异步通知的时序图(Producer → Exchange → Queue → Consumer)
  • 各写一条:适合 Redis Pub/Sub、RabbitMQ、Kafka 的本站场景
  • 阅读 kafka-vs-mq 对比表,用自己的话解释「消费后删除」
  • 小结

    RabbitMQ = AMQP 任务与路由专家;Redis 管缓存轻通知;Kafka 管事件流实验。 下一课拆解 Exchange、Binding、Consumer 等核心名词。

    加载本节练习…
    下一课 →核心概念