本教程详细介绍了构建分布式IM系统的全过程,包括消息协议设计、长连接网关设计、领域驱动设计、分布式缓存设计、分布式存储等多个方面,适合对IM系统架构和分布式技术感兴趣的开发者。
教程概述
本教程涵盖了从零开始构建分布式IM系统的全过程,内容丰富,包括以下关键部分:
- 消息协议设计
- 长连接网关设计(基本实现、连接可用性、通用性、多IDC方案总结)
- 领域驱动设计(设计方法、IM系统的微服务划分)
- 分布式缓存设计(低延迟、高吞吐优化策略、高可用、一致性优化策略)
- 分布式存储(IM的存储模型设计、万人群聊优化)
- IM系统架构设计、IM命令行客户端实现、长连接调度引擎实现、IM Gateway实现、State Server实现等
教程亮点
本教程具有以下亮点:

- 实战性强:教程内容基于实际项目经验,提供了详细的实现步骤和代码示例。
- 系统全面:涵盖了IM系统构建的各个方面,从设计到实现,从单机到分布式,全面解析。
- 易于理解:教程语言通俗易懂,适合不同层次的开发者阅读。
适用场景
本教程适合以下人群阅读:
- 对IM系统架构和分布式技术感兴趣的开发者
- 希望深入了解IM系统构建过程的开发者
- 想要提升自己技术能力的开发者
📂 资源目录
📁 第一部分
📁 04.长连接网关设计(三)-通用性&多IDC&方案总结
24 下行消息.mp4 [34.1 MB]
25 平滑迁移.mp4 [36.5 MB]
23 方案总结.mp4 [41.4 MB]
20 通用设计1.mp4 [109.4 MB]
22 多IDC方案.mp4 [37.5 MB]
19 消息中台.mp4 [41.7 MB]
21 通用设计2.mp4 [36.2 MB]
📁 16.实现 State Server(一) -生命周期&LAB2D
74 长连接生命周期管理.mp4 [180.6 MB]
76 源码阅读1.mp4 [69.4 MB]
77 源码阅读2.mp4 [32.8 MB]
📁 10.分布式存储(二)-万人群聊优化
57 万人群聊1.mp4 [90.5 MB]
58 万人群聊2.mp4 [56.8 MB]
📁 06.领域驱动设计(二)-IM系统的微服务划分
35 设计目标.mp4 [94.9 MB]
38 添加约束.mp4 [41.4 MB]
39 微服务划分.mp4 [85.4 MB]
37 解决方案2.mp4 [147.7 MB]
36 解决方案1.mp4 [65.3 MB]
34 背景分析.mp4 [15.7 MB]
📁 17.实现 state server(二)-实现消息状态机
80 连接可靠性源码阅读.mp4 [180.6 MB]
78 消息可靠性设计.mp4 [192.2 MB]
📁 09.分布式存储(一)-IM的存储模型设计
54 实现方案.mp4 [70.5 MB]
53 背景介绍.mp4 [50.4 MB]
56 复杂性治理.mp4 [37.3 MB]
55 历史存储.mp4 [60.7 MB]
📁 19.LAB2:实现完整长连接网关层
85 源码导读.mp4 [180.5 MB]
📁 01.消息协议设计
05.消息可用性(四)-上行消息.mp4 [31.3 MB]
06.消息可用性(五)-消息转发.mp4 [44.2 MB]
02 消息可用性(一)-基本概念.mp4 [21.7 MB]
01.基本·协议设计.mp4 [182.6 MB]
07 消息可用性(六)-下行消息.mp4 [37.6 MB]
04 消息可用性(三)-方案选型.mp4 [17.1 MB]
03 消息可用性(二)-背景介绍.mp4 [40.7 MB]
📁 03.长连接网关设计(二)-连接可用性
16 长连接网关设计(二)-连接可用性-服务重启1.mp4 [30.2 MB]
15 长连接网关设计(二)-连接可用性-断线重连.mp4 [74.2 MB]
17 长连接网关设计(二)-连接可用性-服务重启2.mp4 [56.3 MB]
18 长连接网关设计(二)-连接可用性-限流.mp4 [19.1 MB]
14 长连接网关设计(二)-连接可用性-消息路由.mp4 [84.9 MB]
📁 07.分布式缓存设计(一)-低延迟&高吞吐优化策略
43 延迟优化1.mp4 [137.2 MB]
44 延迟优化2.mp4 [44.5 MB]
41 评估标准.mp4 [34.0 MB]
42 基本方案.mp4 [61.0 MB]
40 分布式缓存介绍.mp4 [14.5 MB]
45 延迟优化3.mp4 [58.5 MB]
46 高吞吐优化.mp4 [37.1 MB]
📁 02.长连接网关设计(一)-基本实现
09 基本分析.mp4 [33.8 MB]
08 背景介绍.mp4 [29.9 MB]
12 并发模型.mp4 [103.8 MB]
10 设计目标.mp4 [56.5 MB]
11 ip选择.mp4 [18.9 MB]
13 内存布局.mp4 [60.4 MB]
📁 13实现 IP Config - 长连接调度引擎&LAB2A
65 LAB2A_实现ipconf server.mp4 [16.5 MB]
64 架构设计.mp4 [145.5 MB]
63 设计目标.mp4 [29.1 MB]
66 源码参考阅读.mp4 [171.5 MB]
📁 15.实现 IM Gateway-控制长连接收发消息&LAB2C
73 源码分析.mp4 [61.8 MB]
71 设计方案.mp4 [100.7 MB]
📁 14.实现 IM Gateway-持有socket长连&LAB2B
70 gateway 源码参考阅读.mp4 [134.0 MB]
67 背景介绍.mp4 [23.6 MB]
68 socket状态机.mp4 [95.6 MB]
📁 12.LAB1-实现IM命令行客户端
61 客户端框架的设计.mp4 [37.3 MB]
62 客户端实现源码导读.mp4 [43.7 MB]
📁 11.LAB0-独立完成IM系统架构设计
59 架构总结.mp4 [182.8 MB]
📁 18.实现State Server(三)-分布式化(高可用可伸缩)
82 消息状态机的分布式化.mp4 [67.2 MB]
83 实现存算分离&单元化部署.mp4 [46.9 MB]
81 介绍.mp4 [89.2 MB]
📁 08.分布式缓存设计(二)-高可用&一致性优化策略
48 缓存高可用2.mp4 [79.1 MB]
51 缓存一致性2.mp4 [28.7 MB]
52 运维.mp4 [38.6 MB]
50 缓存一致性1.mp4 [38.2 MB]
47 缓存高可用1.mp4 [35.2 MB]
49 缓存高可用3.mp4 [11.6 MB]
📁 05.领域驱动设计(一)-设计方法
26 什么是DDD.mp4 [40.4 MB]
29 DDD应用流程.mp4 [18.8 MB]
28 名词术语.mp4 [104.2 MB]
30 登月的原始需求.mp4 [49.3 MB]
32 阿波罗2.mp4 [36.8 MB]
33 hardcore system design.mp4 [162.8 MB]
27 名词解释.mp4 [40.1 MB]
31 阿波罗1.mp4 [54.1 MB]
📁 第二部分:业务架构实现
📁 01.核心领域实现
03 IM业务编排DAG架构.mp4 [122.1 MB]