Skip to the content.

系统设计

本节的主要目标是设计一个百万级用户同时在线的IM系统,详细描述其需要考虑的方方面面,如:

作者会从传统的瀑布模型去拆解和讲述,主要按照下面的顺序:

  1. 需求分析
  2. 概要设计(架构)
  3. 详细设计(交互、协议)

需求部分不是我们的重点,这里会以设计目标单体,单纯的按照用户量级去设计我们的架构,比如十万和百万量级用户同时在线的情况下, 他们的架构会有什么区别?

概要设计部分主要包括物理架构和逻辑架构,物理体现在服务器的整体部署,偏运费部分,能让我们对系统整体有一个更宏观的认识。逻辑部分,则强调模块的划分,系统的构成等等。

最后是详细设计,主要包含各个模块的交互图以及私有协议,实战编码中,这也是查看频率最高的2个文档。