先判断这门课值不值得学
很多后端开发者在处理用户注册、订单创建这类场景时,习惯把发短信、写日志、推数据等操作全塞在主业务逻辑里。一旦某个下游服务响应慢,整个接口就会被拖垮。这门课解决的就是这个痛点:通过引入 RabbitMQ 实现异步解耦,让主流程迅速返回,把耗时且不需要同步等待的副业务扔给消息队列去排队处理。如果你正被接口耗时、服务耦合度高的问题困扰,或者想从单体应用向微服务架构过渡,学习这套异步通信机制是很有必要的。
适合什么基础与学习顺序建议
课程默认你已有基础的 Go 语言语法能力,并能看懂基本的 Web 接口写法。资料前两章是针对完全没有接触过 MQ 的读者准备的,建议先从这里看起,重点理解生产者与消费者的基本交互模型,以及如何用 Docker 快速部署单机环境。之后直接进入用户注册的实战案例章节,这部分是核心,重点看如何定义交换机、如何向多个队列分发消息,以及消息确认机制。不要跳过代码结构整理的补充课时,在实际工程中,合理的初始化和封装直接决定了代码的可维护性。
学完能独立做什么与资料配合练习方法
学完后,你能够独立为一个现有的 Web 项目接入消息队列,完成从接口接收请求到异步分发消息的完整闭环。具体来说,你可以把用户注册后的欢迎邮件发送、数据同步等操作改造为异步消费模式,并掌握基础的分布式事务处理思路。配合资料练习时,建议先跟着演示完成单机环境的搭建,跑通第一条消息的发送与读取。随后自己手写一个简单的接口,尝试定义自己的交换机和队列绑定关系。一定要手动实现消息确认逻辑,这是防止消息丢失的关键。不要只看不动,把课程里的代码结构自己拆解重构一遍,理解才会真正扎实。
本课程是go web场景实战速学第三篇。使用gin作为web演示框架+rabbitMQ进行实战套路讲解、分布式事务等。由于之前没有讲过该MQ,因此第1-2章会比
课程目录
* 第一章:RabbitMQ无汗热身 cplist.push('第一章:RabbitMQ无汗热身');/
* 第1讲:开张课、为啥要用MQ
* 第2讲:使用docker部署单机RabbitMQ、go客户端库
* 第3讲:用最简单的方式:生产者发送第一条消息
* 第4讲:用最简单的方式:消费者读取消息
* 第二章:在案例中学习-用户注册篇 cplist.push('第二章:在案例中学习-用户注册篇');/
* 第5讲:简单API过程、注册流程、MQ操作简单封装
* 第6讲:定义交换机:向2个队列同时发送消息(QueueBind)
* 第7讲:补充课时:整理和调整代码结构、初始化队列等
* 第8讲:客户端消费注册用户消息、确认消息
* 第9讲:多消费者消费消息、重新入列
* 第10讲:消费者限流:ACK后再收新消息
* 第11讲:开启Confirm模式、记录失败的消息
* 第12讲:监听消息入列回执:NotifyReturn的用法
* 第三章:初级分布式事务-用户注册邮件通知 cplist.push('第三章:初级分布式事务-用户注册邮件通知');/
* 第13讲:以用户注册为例产生的事务需求、延迟队列使用
* 第14讲:记录消费者调用失败次数、逼格SQL技巧
* 第15讲:事务实现:失败后重发指定次数
* 第四章:跨系统的分布式事务(转账) cplist.push('第四章:跨系统的分布式事务(转账)');/
* 第16讲:异构系统转账的分布式事务需求、准备工作
* 第17讲:A公司转账业务逻辑:交易日志记录
* 第18讲:A公司转账业务逻辑:记录日志后发送消息、几点思考
* 第19讲:A公司转账业务逻辑:定时”无脑”补偿机制(上)
* 第20讲:A公司转账逻辑: 补偿机制之交易失败后“还钱 ”
* 第21讲:补偿机制之重发MQ消息、B公司记录日志
* 第22讲:B公司业务逻辑:确认收钱






