上传者: woody1122
|
上传时间: 2025-09-23 10:59:52
|
文件大小: 5.36MB
|
文件类型: PPTX
抖音架构演进
抖音架构演进是指从单体架构到组件化架构的演进过程,该过程中抖音工程架构经历了四个阶段的演进过程。抖音工程架构演进可以解决大型项目跨团队协作分工和多业务线并行开发的效率问题。
一、抖音原始工程架构(Original architecture of project)
抖音项目一开始是单体架构+Cocoapods,业务代码、工程配置、资源文件全部放在一个大业务仓库。由 Podfile 文件描述第三方仓库的依赖版本。
二、分离壳工程后的工程架构(After splitting of host shell pod)
分离壳工程后,工程配置、部分系统资源、工程主入口被拆分到主宿主壳工程。部分基础能力代码被拆分成基础仓库,跟第三方仓库一样独立发版。本地研发工具支持单仓开发和多仓开发,不参与代码修改的仓库通过二进制的方式进行链接。
三、组件化架构
组件化架构是指将大型项目拆分成多个小组件,每个组件都是独立的业务单元,通过依赖关系组成大的业务系统。组件化架构可以解决大型项目跨团队协作分工和多业务线并行开发的效率问题。
四、流水线式迭代开发
流水线式迭代开发是指将大型项目拆分成多个小组件,每个组件都是独立的业务单元,通过依赖关系组成大的业务系统。流水线式迭代开发可以满足敏捷开发迭代的节奏。
抖音工程架构演进的四个阶段:
1. 抖音原始工程架构(Original architecture of project)
2. 分离壳工程后的工程架构(After splitting of host shell pod)
3. 组件化架构
4. 流水线式迭代开发
抖音工程架构演进的意义:
1. 解决大型项目跨团队协作分工和多业务线并行开发的效率问题
2. 提高敏捷开发迭代的节奏
3. 满足业务发展的需求
4. 提高开发效率和代码质量
抖音工程架构演进的技术选型:
1. 组件化架构
2. 流水线式迭代开发
3. CI/CD 工具链支撑组件发版与集成
4. 本地研发工具支撑本地代码同步、工程配置、依赖管理和效率优化
抖音工程架构演进的实践意义:
1. 可以满足大型项目跨团队协作分工和多业务线并行开发的效率问题
2. 可以提高敏捷开发迭代的节奏
3. 可以满足业务发展的需求
4. 可以提高开发效率和代码质量