关于即时通讯架构的一切(全系列地图)(31/31)

全系列地图:10 章 50 小节的 IM 架构知识体系

即时通讯架构实践第 31 课封面:即时通讯31:关于即时通讯架构的一切(全系列地图)

全系列地图:10 章 50 小节的 IM 架构知识体系

《即时通讯架构核心技术》第 31 篇:关于即时通讯架构的一切(全系列地图)。

自己职业生涯前10年,都在做即时通讯。

口罩期期间,花了一年的时间,将自己10年即时通讯架构积累沉淀下来。

21年又花了半年的时间,录制了一个视频专栏《关于即时通讯架构的一切》。多年苦练的武功,算是对自己职业生涯前10年的一个交代。

《关于即时通讯架构的一切》内容如何?

架构有很多相通的地方,高性能,高可用,扩展性,一致性,架构问题解决思路.….. 一切都具象化融在了“即时通讯”的10章50个小结之中。

第一章、IM系统为什么难

  • 1. 什么是人们眼中的即时通讯
  • 2. 什么是“即时”,什么是“通讯”
  • 3. 即时通讯系统为什么难
    • 3.1 实时性难点
    • 3.2 推送性难点
    • 3.3 逻辑复杂性难点
    • 3.4 消息可达性难点
    • 3.5 状态同步难点

第二章、从简单的网络聊天室说起

  • 1. 网络聊天室需求
  • 2. 网络聊天室设计与实现
    • 2.1 接口设计
    • 2.2 分层架构
    • 2.3 数据库设计
    • 2.4 业务逻辑流程
  • 3. 如何保证消息实时性
    • 3.1 消息轮询模式
    • 3.2 轮询实时性问题
    • 3.3 观察者模式
    • 3.4 comet技术

第三章、匿名访客IM系统

  • 1. 匿名访客即时通讯系统需求
  • 2. 匿名访客即时通讯系统设计与实现
    • 2.1用户的抽象与设计
    • 2.2匿名与隐含登录
    • 2.3 HTTP1.1与伪长连接
    • 2.4 客服离线消息
    • 2.5 状态分发模块
    • 2.6 通知路由模块
  • 3. 匿名系统如何实现
    • 3.1匿名子系统需求
    • 3.2 熟客识别
    • 3.3 安全会话标识串的设计
    • 3.4 匿名登录
    • 3.5 匿名离线消息

第四章、IM系统协议栈设计

  • 1. 应用层协议设计
    • 1.1文本协议
    • 1.2 二进制协议
    • 1.3 流式XML
    • 1.4常用协议比较
  • 2. 安全层协议设计
  • 3. 传输层协议设计

第五章、IM系统分层架构设计

  • 1. 架构设计需要考虑的问题
  • 2. 即时通讯系统分层架构设计
    • 2.1 接入层entry子系统
    • 2.2 逻辑层logic子系统
    • 2.3 路由层router子系统
    • 2.4 存储层data子系统
  • 3. 即时通讯系统分布式架构
    • 3.1 机房冗余策略
    • 3.2 水平拆分策略
    • 3.3 服务冗余策略
    • 3.4 负载均衡策略
    • 3.5 系统扩展策略

第六章、IM系统核心业务流程设计与实现(上)

  • 1. 即时通讯系统协议报文设计
  • 2. 登录业务:可能远比你想的复杂
  • 3. 用户业务:一切的基础
  • 4. 单人在线消息业务:即时通讯的精髓
  • 5. 单人离线消息业务:离线可达性如何保证

第七章、IM系统核心业务流程设计与实现(中)

  • 1. 好友业务:难在哪里
  • 2. 好友状态业务:推还是拉
  • 3. 群在线消息业务:为何限制群人数
  • 4. 群离线消息业务:存一份还是多份
  • 5. 群友状态业务:消息风暴问题

第八章、IM系统核心业务流程设计与实现(下)

  • 1. 文件传输子系统
  • 2. 验证码子系统
  • 3. 反作弊子系统
  • 4. 移动流量优化
  • 5. 断线重连优化

第九章、从IM系统Passport看分布式架构设计

  • 1. Passport系统需求
  • 2. Passport系统分析
  • 3. Passport分布式设计
    • 3.1 容错与冗余
    • 3.2 系统扩展性
    • 3.3 系统负载均衡
    • 3.4 系统部署

第十章、总结IM系统架构中的设计方法论

具体到每个章节,会聊些什么内容?

以第八章为例,第八章聊文件传输,验证码,反作弊,移动优化,具体会解答这些问题:

关于文件传输:

(1)小文件,能不能通过IM通道传输?

(2)大文件,“中转”方案存在什么弊端?

(3)文件和文字一起发,哪部分内容先收到?

(4)文件传输,发送方与接收方用“直连”方案么?

(5)最经典的文件传输,什么是“打洞”方案?

(6)…

关于验证码:

(1)验证码的图片,是提前生成的吗?

(2)验证码的设计,如何保障一次性,时效性,独占性,完整性?

(3)如何攻破验证码系统?

(4)如何打破验证码内容与图片的映射关系?

(5)如何防止OCR攻击,如何防止穷举攻击?

(6)…

关于反作弊:

(1)如何进行黄反词过滤?

(2)什么是trie树与DAT?

(3)如何进行广告识别?

(4)什么是局部敏感HASH?

(5)如何进行行为过滤?

(6)…

关于IM移动优化:

(1)移动IM如何优化?

(2)什么是IM session保持技术?

(3)什么是IM 快速重连技术?

(4)IM如何实现多点登录?

(5)IM如何实现消息漫游?

(6)…

每一章都有大量技术细节的讨论,欢迎围观。

《关于即时通讯架构的一切》专栏是什么形式?

视频,讲解PPT。

如何订阅?

扫码订阅《关于即时通讯架构的一切》

扫码订阅《关于即时通讯架构的一切》

有什么福利?

首页-400优惠券。务必领取后再订阅。

有什么注意事项?

订阅后能看到群二维码,务必加群交流,欢迎加群一起玩架构。

阅读原文,欢迎加群。

至此,31 篇课件走完了一位 IM 架构师十年的核心积累:从消息可靠性、离线消息、群消息,到协议选型、多点登录、feed 流、好友关系链,再到 MQ 的解耦、削峰与平滑迁移。愿这份全系列地图,帮你把散落的知识点连成自己的架构体系。

知其然,知其所以然。思路比结论更重要。

发表回复

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

京ICP备2025137728号-3