📚 课程介绍
本课程深入讲解RabbitMQ的架构和高级特性,通过实际项目开发案例,提升学员的工程实践能力和架构思维。
📋 学习前提
1. Java基础(Java编程语言和开发环境) 2. 基础的Linux命令(Linux操作系统基本操作和命令行使用) 3. 简单的数据库操作(数据库的基本概念和操作) 4. 网络基础(网络通信的基本原理和协议)
📖 课程目录
第1章 思想纲领
1-1 为什么做这门课?做课思路是什么样?
第2章 树立清晰的RabbitMQ初印象
2-1 从找小姐姐买咖啡理解消息中间件
2-2 主流消息中间件怎么选?
2-3 RabbitMQ高性能的原因
2-4 RabbitMQ的灵魂——AMQP协议
2-5 RabbitMQ的心脏——Exchange解析
2-6 RabbitMQ快速安装
2-7 视觉直观感受——管理工具概览
2-8 更常用的网页端管理工具
2-9 基本功——命令行管理
2-10 本章总结
第3章 利用RabbitMQ基本用法,开发项目
3-1 RabbitMQ消息交换的关键是什么?
3-2 需求分析与架构设计
3-3 数据库设计与项目搭建
3-4 利用Direct开发餐厅和骑手微服务
3-5 设计工程涉及的数据结构
3-6 dao层开发
3-7 队列和交换机绑定
3-8 下单并商家微服务发消息
3-9 收到消息更新订单状态
3-10 给骑手微服务发送消息
3-11 开发商家微服务
3-12 利用Direct接收消息
3-13 完善骑手微服务
3-14 订单向结算服务发送消息
3-15 利用Fanout完善结算微服务
3-16 四个微服务联调
3-17 利用Topic开发积分微服务
3-18 目前的项目不足之处分析
3-19 实际开发中经验及小结
第4章 利用RabbitMQ高级特性,完善项目的可靠性
4-1 如何保证消息可靠性
4-2 发送端确认机制原理
4-3 实现多条同步确认和异步确认机制
4-4 消息返回机制
4-5 消费端确认机制
4-6 实现重回队列
4-7 消费端限流机制
4-8 消息过期机制
4-9 死信队列
4-10 目前项目的不足之处分析
4-11 实际开发中的经验及小结
第5章 RabbitMQ与SpringBoot适配,利用工具类简化项目
5-1 引入SpringBoot的重要性
5-2 利用RabbitAdmin快速配置Rabbit服务
5-3 简化配置Rabbit服务的流程
5-4 解析涉及到的RabbitAdmin源码
5-5 利用RabbitTemplate快速消息发送
5-6 改造发送端确认和消息返回
5-7 SimpleMessageListenerContainer
5-8 深入源码探究核心原理
5-9 利用MessageListenerAdapter自定义消息监听
5-10 利用MessageConverter高效处理消息
5-11 利用RabbitListener快速实现消息处理器(上)
5-12 利用RabbitListener快速实现消息处理器(下)
5-13 实际中的开发经验及小结
第6章 RabbitMQ集群入门——手动搭建集群并容灾实验
6-1 RabbitMQ使用集群的好处
6-2 RabbitMQ集群架构拓扑
6-3 搭建RabbitMQ集群
6-4 RabbitMQ镜像队列
6-5 RabbitMQ怎么实现高可用
6-6 HAproxy+Keepalived高可用集群搭建
6-7 RabbitMQ集群间通信原理
6-8 实际开发中的经验和本章小结
第7章 RabbitMQ集群高可用
7-1 优化RabbitMQ集群
7-2 理解Docker架构和原理
7-3 搭建Docker环境
7-4 利用DockerCompose搭建RabbitMQ集群
7-5 理解Kubernetes原理
7-6 使用K8s搭建高可用集群
7-7 分析集群网络分区的意义与风险
7-8 集群网络分区处理方法
7-9 RabbitMQ状态监控
7-10 目前项目不足之处分析
7-11 实际开发过程中的经验及小结
第8章 基于RabbitMQ开发分布式事务框架
8-1 事务为什么要“分布式化”
8-2 分布式框架设计
8-3 分布式事务框架搭建
8-4 数据库相关开发
8-5 消息发送失败的重试流程分析
8-6 实现消息重发功能
8-7 消息回调逻辑实现
8-8 实现消息定时重发
8-9 消息消费失败重试流程分析
8-10 改造监听消息代码
8-11 死信消息告警
8-12 框架打包并引入微服务项目
8-13 实际开发中的经验小结
