今天弄了一个Swift源码的脑图,基本包括了Swift主要功能,当然一些可扩展功能没有包含进去。
Swift源码大致可以分为6块
- 物理节点的管理 : 主要包括物理节点的添加,删除,ring文件,builder文件生成,重平衡,核心算法与数据结构。
- 请求与处理 : 各种服务处理请求的模型,都使用线程池来处理并发请求,一致性的服务也使用了固定的daemon模型。
- 文件操作 :文件的操作,具体的逻辑。
- 文件管理 :account和container概念,类别与用户与文件夹的概念(但是不是这个概念)。
- 认证与鉴权 : 认证的程序依靠keystone中间件,而鉴权独立到swift中,真正的鉴权发生在具体操作之前。
- 服务管理 :同一启动服务,管理服务,manager功能。