消息队列高手课-从源码角度全面解析MQ的设计与实现

 

如果你掌握了消息队列的底层技术,无论使用哪种消息队列产品,你都可以从原理层面来分析问题,再简单看一下它的API和相关配置项,就能很快知道该如何配置消息队列,写出高性能并且可靠的程序。

在这个课程中,李玥将从源码的角度带你了解消息队列,让你具备从源码角度分析和解决实际业务问题的能力,并且借由消息队列的底层技术,带你了解其优秀的设计思想,理解各种“轮子”的实现原理,提升你的编程能力。

此外,消息队列本身功能简洁、结构清晰,入门简单且有足够的深度,作为使用最广泛的中间件,涉及的底层技术非常全面,非常适合用来深入分析和学习分布式系统等一些复杂的相关技术,让你一通百通。

资源目录

课前必读 (2讲)

开篇词 | 优秀的程序员,你的技术栈中不能只有“增删改查”

预习 | 怎样更好地学习这门课?

基础篇 (8讲)

01 | 为什么需要消息队列?

02 | 该如何选择消息队列?

03 | 消息模型:主题和队列有什么区别?

04 | 如何利用事务消息实现分布式事务?

05 | 如何确保消息不会丢失?

06 | 如何处理消费过程中的重复消息?

07 | 消息积压了该如何处理?

08 | 答疑解惑(一) : 网关如何接收服务端的秒杀结果?

进阶篇 (21讲)

09 | 学习开源代码该如何入手?

10 | 如何使用异步设计提升系统性能?

11 | 如何实现高性能的异步网络传输?

12 | 序列化与反序列化:如何通过网络传输结构化的数据?

13 | 传输协议:应用程序之间对话的语言

14 | 内存管理:如何避免内存溢出和频繁的垃圾回收?

加餐 | JMQ的Broker是如何异步处理消息的?

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元哪儿去了?

案例篇 (7讲)

29 | 流计算与消息(一):通过Flink理解流计算的原理

30 | 流计算与消息(二):在流计算中使用Kafka链接计算任务

31 | 动手实现一个简单的RPC框架(一):原理和程序的结构

32 | 动手实现一个简单的RPC框架(二):通信与序列化

33 | 动手实现一个简单的RPC框架(三):客户端

34 | 动手实现一个简单的RPC框架(四):服务端

35 | 答疑解惑(三):主流消息队列都是如何存储消息的?

测试篇 (2讲)

期中测试丨10个消息队列热点问题自测

期末测试 | 消息队列100分试卷等你来挑战!

结束语 (2讲)

结束语 | 程序员如何构建知识体系?

第二季回归丨这次我们一起实战后端存储

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注