一、RabbitMQ 简介
1.1 什么是 RabbitMQ
1.2 RabbitMQ 的历史
1.3 RabbitMQ 的特点
- 可靠性
- 灵活的路由
- 支持多协议
- 多语言客户端
- 管理界面
- 插件机制
1.4 RabbitMQ 应用场景
二、RabbitMQ 核心概念
2.1 Producer(生产者)
2.2 Consumer(消费者)
2.3 Broker(代理)
2.4 Exchange(交换机)
- Direct Exchange
- Fanout Exchange
- Topic Exchange
- Headers Exchange
2.5 Queue(队列)
2.6 Binding(绑定)
2.7 Routing Key(路由键)
2.8 Connection(连接)
2.9 Channel(通道)
2.10 Virtual Host(虚拟主机)
三、AMQP 协议
3.1 AMQP 协议概述
3.2 AMQP 模型
3.3 AMQP 消息属性
3.4 AMQP 方法
四、RabbitMQ 安装部署
4.1 环境准备
4.2 Windows 安装
4.3 Linux 安装
4.4 Docker 部署
4.5 配置文件
4.6 插件管理
4.7 管理界面
五、RabbitMQ 工作模式
5.1 简单模式(Hello World)
5.2 工作队列模式(Work Queue)
5.3 发布订阅模式(Publish/Subscribe)
5.4 路由模式(Routing)
5.5 主题模式(Topics)
5.6 RPC 模式
六、RabbitMQ 进阶特性
6.1 消息确认机制
6.2 消息持久化
6.3 消息 TTL(Time To Live)
6.4 死信队列(DLQ)
6.5 延迟队列
6.6 优先级队列
6.7 消息去重
七、RabbitMQ 集群
7.1 集群架构
7.2 集群搭建
7.3 镜像队列
7.4 负载均衡
7.5 高可用配置
八、RabbitMQ 管理
8.1 管理界面
- 连接管理
- 通道管理
- 队列管理
- 交换机管理
- 用户管理
8.2 命令行工具
8.3 监控指标
8.4 告警配置
九、RabbitMQ 客户端开发
9.1 Java 客户端
9.2 Python 客户端
9.3 Go 客户端
9.4 Spring Boot 集成
十、RabbitMQ 性能优化
10.1 连接池优化
10.2 通道复用
10.3 批量处理
10.4 消息大小优化
10.5 预取数量设置
10.6 队列优化
十一、RabbitMQ 故障处理
11.1 连接断开处理
11.2 消息重试
11.3 死信处理
11.4 集群故障转移
十二、RabbitMQ 安全
12.1 用户权限管理
12.2 虚拟主机隔离
12.3 SSL/TLS 加密
12.4 网络安全
十三、RabbitMQ 最佳实践
13.1 消息设计原则
13.2 队列设计原则
13.3 消费者设计原则
13.4 错误处理原则
13.5 监控告警
十四、RabbitMQ 实战案例
14.1 订单系统
14.2 日志收集
14.3 异步任务处理
14.4 分布式事务
十五、RabbitMQ 常见问题
15.1 消息丢失问题
15.2 消息重复消费
15.3 消息顺序性
15.4 消息积压
15.5 性能问题