# 消息队列高手课:从“增删改查”到分布式架构的进阶之路
在微服务与高并发成为业界标配的今天,许多工程师的技能栈仍停留在基础的“增删改查”层面。当业务量激增、系统耦合度升高时,传统单体架构往往显得力不从心。消息队列(MQ)作为解耦、削峰填谷、异步处理的利器,已成为后端开发者必须掌握的硬核技能。然而,市面上讲 MQ 的课程多为工具教程,缺乏对底层原理与高阶设计的深度剖析。《消息队列高手课》正是为弥补这一断层而生,它不满足于教你“怎么用”,更致力于带你理解“为什么”以及“如何做得更好”。
**系统化的学习路径,兼顾广度与深度**
本课程采用严谨的“基础篇—进阶迭代—实战测试”三段式结构,确保学员能够循序渐进地构建完整知识体系。
在**基础篇**,课程从本源出发,深入探讨“为什么需要消息队列”以及“如何选择适合的业务场景”。针对初学者最容易困惑的“主题与队列区别”、“分布式事务中的事务消息实现”、“消息丢失与重复消费的处理”等核心痛点,提供了清晰的理论框架与落地方案。这部分内容夯实了根基,让你不仅知其然,更知其所以然。
进入**进阶与迭代篇**,课程视角转向更高阶的系统设计与性能优化。你将了解到如何利用 **Actor 模型**解决并发难题,如何从存储层面优化**读写性能**,以及如何设计**高可用与容灾方案**以确保系统在极端情况下的稳定性。此外,针对“消息保序”这一高频面试考点与生产难题,课程给出了详细的实现思路。特别值得一提的是关于 **Kafka 配置一致性**的探讨,展现了课程紧跟技术前沿、解决实际复杂问题的能力。
**以考促学,检验真知**
为了避免“听懂了但不会用”的尴尬,课程专门设置了**测试篇**,包含期中与期末两套高质量试卷。期中测试聚焦 10 个 MQ 热点问题自测,旨在帮你查漏补缺;期末测试则以 100 分试卷的形式,全面检验你对消息队列从理论到实践的整体掌握程度。这种闭环式的学习设计,有助于你将碎片化知识内化为结构化能力。
**适合谁学?**
无论你是希望突破技术瓶颈、向资深后端工程师转型的开发者,还是需要排查消息积压、设计高可用架构的生产环境实战派,这门课都能提供宝贵的理论支撑与实践指导。它将带你跳出代码细节,从系统架构的宏观视角重新审视消息队列的价值,助你真正掌握分布式系统中的这一关键组件。
课程目录
测试篇 (2讲)
- 期中测试丨10个消息队列热点问题自测
- 期末测试 _ 消息队列100分试卷等你来挑战!
课前必读 (2讲)
- 开篇词 _ 优秀的程序员,你的技术栈中不能只有“增删改查”
- 预习 _ 怎样更好地学习这门课?
课程迭代 (6讲)
- Kafka如何保证配置下发的一致性?
- 再次起航|从“旁观者”视角再看消息队列
- 如何使用Actor模型解决并发问题?
- 如何实现消息保序?
- 消息存储读写性能的优化方法
- 消息队列的高可用与容灾设计
基础篇 (8讲)
- 01 _ 为什么需要消息队列?
- 02 _ 该如何选择消息队列?
- 03 _ 消息模型:主题和队列有什么区别?
- 04 _ 如何利用事务消息实现分布式事务?
- 05 _ 如何确保消息不会丢失_
- 06 _ 如何处理消费过程中的重复消息?
- 07 _ 消息积压了该如何处理?
- 08 _ 答疑解惑(一) _ 网关如何接收服务端的秒杀结果?
进阶篇 (21讲)
- 09 _ 学习开源代码该如何入手?
- 10 _ 如何使用异步设计提升系统性能?
- 11 _ 如何实现高性能的异步网络传输?
- 12 _ 序列化与反序列化:如何通过网络传输结构化的数据?
- 13 _ 传输协议:应用程序之间对话的语言
- 14 _ 内存管理:如何避免内存溢出和频繁的垃圾回收?
- 15 _ Kafka如何实现高性能IO?
- 16 _ 缓存策略:如何使用缓存来减少磁盘IO?
- 17 _ 如何正确使用锁保护共享数据,协调异步线程?
- 18 _ 如何用硬件同步原语(CAS)替代锁?
- 19 _ 数据压缩:时间换空间的游戏
- 20 _ RocketMQ Producer源码分析:消息生产的实现过程
- 21 _ Kafka Consumer源码分析:消息消费的实现过程
- 22 _ Kafka和RocketMQ的消息复制实现的差异点在哪?
- 23 _ RocketMQ客户端如何在集群中找到正确的节点?
- 24 _ Kafka的协调服务ZooKeeper:实现分布式系统的“瑞士军刀”
- 25 _ RocketMQ与Kafka中如何实现事务?
- 26 _ MQTT协议:如何支持海量的在线IoT设备_
- 27 _ Pulsar的存储计算分离设计:全新的消息队列设计思路
- 28 _ 答疑解惑(二):我的100元哪儿去了?
- 加餐 _ JMQ的Broker是如何异步处理消息的?
案例篇 (7讲)
- 29 _ 流计算与消息(一):通过Flink理解流计算的原理
- 30 _ 流计算与消息(二):在流计算中使用Kafka链接计算任务
- 31 _ 动手实现一个简单的RPC框架(一):原理和程序的结构
- 32 _ 动手实现一个简单的RPC框架(二):通信与序列化
- 33 _ 动手实现一个简单的RPC框架(三):客户端
- 34 _ 动手实现一个简单的RPC框架(四):服务端
- 35 _ 答疑解惑(三):主流消息队列都是如何存储消息的?
结束语 (2讲)
- 第二季回归丨这次我们一起实战后端存储
- 结束语 _ 程序员如何构建知识体系?





