第 1 天:安装 RabbitMQ、启用 Management、登录 Web UI,学会看 connections、channels、queues、exchanges
安装 RabbitMQ、启用 Management、登录 Web UI,学会看 connections、channels、queues、exchanges
RabbitMQ 学习
按 30 天学习节奏整理 RabbitMQ 的模型、可靠性、重试、幂等、队列类型、Streams 与运维实践。
这里集中整理 RabbitMQ 的 30 天学习内容。页面重点强调按天推进和按周复盘。
RabbitMQ 最怕“只看不跑”。更稳的用法是:
如果你具备下面这些基础,推进会更顺:
如果你目标是做生产级异步链路,这条学习线建议和 Go 工程文章一起看,而不是孤立看消息队列本身。
学习节奏
先把模型概念和 6 个官方基础教程全部跑通。
重点补齐可靠性、ack、prefetch、publisher confirm 与重连边界。
集中解决 TTL、DLX、重试链路、毒消息和业务幂等。
学习队列类型、Streams、policy、监控、集群与最终项目集成。
Week 1
安装 RabbitMQ、启用 Management、登录 Web UI,学会看 connections、channels、queues、exchanges
只学核心概念,不写复杂代码,弄清 producer、consumer、exchange、queue、binding、routing key、vhost、connection、channel
写第一个 Go 生产者和消费者,跑通最简单的单队列收发
学习工作队列和竞争消费,理解“一个消息只被一个 worker 处理”
学习 fanout exchange 和广播
学习 direct exchange 和路由键
学习 topic exchange 和模式匹配
Week 2
学习 RPC 模式,但重点不是“喜欢它”,而是知道它的边界
系统学习队列属性:durable、exclusive、auto-delete、server-named queue
学习消费确认 ack、拒绝 nack/reject、重回队列 requeue
学习 prefetch,控制未确认消息上限
学习 publisher confirms。截至 2026-04-18,官方 Tutorials 第 7 章没有 Go 版本,所以这天直接用官方 Confirms 指南加 amqp091-go 仓库示例
做可靠性实验:重启 broker、杀掉消费者、网络断开后重连
做一个小项目 1,建议是“异步订单创建”或“异步图片处理”
Week 3
学习 TTL,区分消息 TTL 和队列 TTL
学习死信交换机 DLX
做“延迟重试链路”
做“毒消息停车场”
学习消费者幂等
学习 Go 客户端的连接恢复边界。amqp091-go 官方明确不负责自动重连和拓扑重建,这部分要应用自己做
做一个小项目 2:把“秒杀下单异步化”抽成 RabbitMQ worker
Week 4
学习队列类型,先搞清 classic queue、quorum queue、stream 的边界
上手 quorum queue
开始学 Streams,不把它和普通队列混在一起
学习 stream offset tracking 和 replay
学习多租户与权限控制
学习 policy,把 TTL、DLX、长度限制从代码里拿出来
学习监控
学习集群和跨地域思路,但这天以认知为主
做最终项目和总复盘