RabbitMQ 消息中间件实战课程介绍
课程简介
本课程系统讲解 RabbitMQ 消息中间件,基于 SpringAMQP 完成全套实战开发。从同步异步调用思想、MQ 基础模型、交换机类型,到消息可靠性、延迟消息、集群高可用,覆盖电商订单超时取消等真实业务场景。课程配套完整可运行 Java 代码,结合大量生产踩坑案例,讲解消息丢失、重复消费、消息堆积等企业常见问题,同时掌握单机、镜像队列、仲裁队列集群部署,能够独立完成消息中间件开发、配置、排错,胜任后端开发工作与面试。
课程内容
第一章 RabbitMQ 快速入门
- 同步调用与异步调用概念,MQ 三大核心角色与应用场景(异步处理、解耦、流量削峰)
- RabbitMQ 核心组件:Publisher、Consumer、Queue、Exchange、VirtualHost 虚拟主机
- Docker 环境部署 RabbitMQ,管理控制台使用,虚拟主机与多用户权限隔离
- SpringAMQP 快速上手:简单队列模型,消息发送与消息接收
- 推模式、拉模式原理;WorkQueues 工作队列模型,prefetch 预取实现能者多劳,解决消息分配不均
- 四大交换机:Fanout 广播、Direct 直连、Topic 主题通配符、Headers 头匹配
- 两种声明队列 / 交换机方式:@Bean 配置类方式、@RabbitListener 注解声明方式
- 消息转换器:JDK 序列化弊端,Jackson JSON 序列化改造
- 高级队列:LazyQueue 惰性队列解决海量消息堆积;优先级队列实现消息优先级处理
第二章 RabbitMQ 高级特性与业务实战
- 消息可靠性全链路分析:生产端、Broker 端、消费端消息丢失场景
- 生产者可靠性:发送重试机制、Publisher Confirm 确认机制、Publisher Return 返回机制
- 失败消息处理方案:失败消息数据库记录表、定时任务重试补偿
- 持久化机制:交换机持久化、队列持久化、消息持久化配置
- 消费者确认机制:ack/nack/reject,auto/manual/none 三种确认模式
- 消费者本地重试,MessageRecoverer 三种失败策略,RepublishMessageRecoverer 失败消息转发死信队列
- MQ 消息幂等性解决方案:消息唯一 ID、业务状态判断,解决重复消费问题
- 业务补偿方案:定时任务主动查询作为兜底,保证最终一致性
- 延迟消息实现方案:TTL + 死信交换机方案;rabbitmq_delayed_message_exchange 延迟插件实战
- 电商实战:订单下单后超时未支付自动取消订单,库存回滚完整业务实现
第三章 RabbitMQ 集群运维
- RabbitMQ 普通集群部署(Docker),Erlang Cookie 集群通信原理
- 普通集群缺陷:队列仅存在单个节点,节点宕机队列不可用
- 镜像队列模式:ha-mode 三种策略 exactly/all/nodes,实现队列高可用
- 仲裁队列 Quorum Queue(RabbitMQ3.8+),替代镜像队列,新特性与使用场景
- SpringBoot 连接集群配置,集群功能测试、高可用验证
配套面试专题
汇总高频面试题:MQ 应用场景、如何保证消息不丢失、如何实现幂等性、延迟消息实现、普通集群和镜像队列区别、仲裁队列特点等。
课程亮点
✅ 业务导向,贴合企业电商真实场景 以电商订单支付、订单超时取消为业务案例,把 MQ 技术落地到真实业务,不局限 API 调用,学完可以直接用于项目开发。
✅ 完整解决生产疑难问题 重点剖析消息丢失、消息重复消费、消息堆积、分配不均等线上问题,给出完整解决方案:失败消息表、定时任务补偿、惰性队列、幂等性实现。
✅ 原理 + 代码 + 运维三位一体 既讲解底层原理(推 / 拉模式、确认机制、集群 cookie 原理),又提供全套 SpringAMQP 可运行代码,同时掌握控制台、docker 集群部署运维。
✅ 多种实现方案对比 延迟消息两种方案对比、集群三种模式对比,分析各个方案优缺点、适用场景、坑点,做技术选型心中有数。
✅ 排坑教学 讲解 JDK 序列化缺陷、ReturnCallback 回调单元测试坑点、普通集群不具备高可用、延迟消息插件注意事项等开发过程中高频踩坑。
✅ 兼顾开发与面试 每章配套面试题,梳理 MQ 高频面试考点,学完既能做业务开发,也能应对面试提问。
适合人群
- Java 后端开发工程师,想要掌握 RabbitMQ 消息中间件
- 做微服务开发,需要使用 MQ 实现服务解耦、异步通知的开发者
- 求职面试,需要梳理 MQ 可靠性、幂等性、集群相关面试考点
- 运维人员,学习 RabbitMQ 单机、集群部署、故障排查
学习收获
- 掌握 SpringAMQP 开发,熟练使用各类交换机,掌握注解 / 配置类两种声明方式
- 理解消息全链路可靠性,掌握生产者确认、持久化、消费者 ACK 机制,规避消息丢失
- 掌握消息幂等性,解决消息重复消费问题,理解兜底补偿思想实现最终一致性
- 掌握延迟消息两种实现,完成订单超时取消业务开发
- 能够部署普通集群、镜像队列、仲裁队列,理解集群优缺点,实现高可用
- 能够处理消息堆积、消息重复、消息丢失等线上问题,应对业务开发与面试。
老师介绍
老苗一对一私教:https://yjoffer.com/aboutus/one2one/one2one.html
