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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
RabbitMQ 入门/课时/RabbitMQ vs Kafka
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 vs Kafka

任务队列 vs 日志流;选型对照。

25 分钟

RabbitMQ vs Kafka

RabbitMQ 是 队列型、路由灵活、ack 删除;Kafka 是 日志型、高吞吐、offset 重放。选型看业务是「领任务」还是「录事件」,不是简单比性能。与 kafka-vs-mq 互为对照。

学习目标

  • 对比存储模型、消费语义与运维关注点
  • 为 CodeRoadMap 场景各举一例该用谁
  • 说明主栈为何 MySQL + Redis,MQ 均为扩展

核心内容

模型对比

维度RabbitMQKafka
存储Queue,ack 后删分区日志,保留策略
路由Exchange 四类Topic + key 分区
回溯一般不支持offset 重放
吞吐中高极高
顺序单队列有序分区内有序
协议AMQP自有
RabbitMQ:「任务进队,工人领走确认」
Kafka:    「事件入账本,订阅者按进度读」

场景举例

更适合 RabbitMQ(本站 lab)

  • 课时导出、邮件发送等 后台任务
  • 需要 复杂路由(topic exchange、DLX)
  • 团队熟悉 AMQP / Management UI

更适合 Kafka

  • 用户行为、审计 多下游订阅 + 重放
  • 超高吞吐事件管道
  • 与 Kafka Streams 做实时聚合(kafka-streams)

仍用 Redis

  • 缓存、Session(redis-session)
  • 轻量 Pub/Sub 失效广播(redis-pubsub)

CodeRoadMap 立场

主栈:MySQL 真相 + REST API + 可选 Redis(spring-boot-essentials)。RabbitMQ 练 任务队列;Kafka 练 事件流;二者都不替代事务库。小项目 Cron + MySQL 状态机 往往够用,理解 MQ 是为了规模上来时有备选。

练习

  • 为「管理端批量导入 1 万条课时」选 RabbitMQ 或 Kafka,写两条理由
  • fanout 与 Kafka 多 consumer group 的相似与不同各写一点
  • 若只需缓存失效广播,第三选项是什么?
  • 小结

    RabbitMQ 擅任务与路由;Kafka 擅事件流与重放;Redis 管缓存。 下一课看 Management 与队列告警。

    加载本节练习…
    ← 上一课常见模式下一课 →监控与管理