课程目录

测试篇 (2讲)

  1. 期中测试丨10个消息队列热点问题自测
  2. 期末测试 _ 消息队列100分试卷等你来挑战!

课前必读 (2讲)

  1. 开篇词 _ 优秀的程序员,你的技术栈中不能只有“增删改查”
  2. 预习 _ 怎样更好地学习这门课?

课程迭代 (6讲)

  1. Kafka如何保证配置下发的一致性?
  2. 再次起航|从“旁观者”视角再看消息队列
  3. 如何使用Actor模型解决并发问题?
  4. 如何实现消息保序?
  5. 消息存储读写性能的优化方法
  6. 消息队列的高可用与容灾设计

基础篇 (8讲)

  1. 01 _ 为什么需要消息队列?
  2. 02 _ 该如何选择消息队列?
  3. 03 _ 消息模型:主题和队列有什么区别?
  4. 04 _ 如何利用事务消息实现分布式事务?
  5. 05 _ 如何确保消息不会丢失_
  6. 06 _ 如何处理消费过程中的重复消息?
  7. 07 _ 消息积压了该如何处理?
  8. 08 _ 答疑解惑(一) _ 网关如何接收服务端的秒杀结果?

进阶篇 (21讲)

  1. 09 _ 学习开源代码该如何入手?
  2. 10 _ 如何使用异步设计提升系统性能?
  3. 11 _ 如何实现高性能的异步网络传输?
  4. 12 _ 序列化与反序列化:如何通过网络传输结构化的数据?
  5. 13 _ 传输协议:应用程序之间对话的语言
  6. 14 _ 内存管理:如何避免内存溢出和频繁的垃圾回收?
  7. 15 _ Kafka如何实现高性能IO?
  8. 16 _ 缓存策略:如何使用缓存来减少磁盘IO?
  9. 17 _ 如何正确使用锁保护共享数据,协调异步线程?
  10. 18 _ 如何用硬件同步原语(CAS)替代锁?
  11. 19 _ 数据压缩:时间换空间的游戏
  12. 20 _ RocketMQ Producer源码分析:消息生产的实现过程
  13. 21 _ Kafka Consumer源码分析:消息消费的实现过程
  14. 22 _ Kafka和RocketMQ的消息复制实现的差异点在哪?
  15. 23 _ RocketMQ客户端如何在集群中找到正确的节点?
  16. 24 _ Kafka的协调服务ZooKeeper:实现分布式系统的“瑞士军刀”
  17. 25 _ RocketMQ与Kafka中如何实现事务?
  18. 26 _ MQTT协议:如何支持海量的在线IoT设备_
  19. 27 _ Pulsar的存储计算分离设计:全新的消息队列设计思路
  20. 28 _ 答疑解惑(二):我的100元哪儿去了?
  21. 加餐 _ JMQ的Broker是如何异步处理消息的?

案例篇 (7讲)

  1. 29 _ 流计算与消息(一):通过Flink理解流计算的原理
  2. 30 _ 流计算与消息(二):在流计算中使用Kafka链接计算任务
  3. 31 _ 动手实现一个简单的RPC框架(一):原理和程序的结构
  4. 32 _ 动手实现一个简单的RPC框架(二):通信与序列化
  5. 33 _ 动手实现一个简单的RPC框架(三):客户端
  6. 34 _ 动手实现一个简单的RPC框架(四):服务端
  7. 35 _ 答疑解惑(三):主流消息队列都是如何存储消息的?

结束语 (2讲)

  1. 第二季回归丨这次我们一起实战后端存储
  2. 结束语 _ 程序员如何构建知识体系?