一. 项目简介
定义项目的边界和职责范围,处于整体系统的什么位置,核心功能是什么,边界是什么
二. 需求文档&项目背景
如果有需求文档放需求文档链接 & 如果没有说明立项的目标背景
三. 主要场景&设计模型
四. 技术方案
4.1 整体架构图
提供整体架构图,此处主要反映本系统处于整体架构中的位置,反映的是层级关系,相同的层级处于一个水平位置,通过架构图能发现整体系统的信息流量流转是否合理,防止系统定位不准职责不清晰。
4.2 场景时序图
主流程时序图。主要反映信息在时间维度上信息如何流转各个系统。涉及到多少外部交互系统。所有流转系统尽量体现,核心操作必须体现。
4.3 核心流程图
主流程流程图。主要反映本系统内关键业务逻辑如何实现。通过核心流程能够发现技术实现思路。
4.4 存储选型及容量规划&设计
- 数据存储选型请参考 数据存储选型
数据库设计请参考 MYSQL设计规范
4.5 接口设计
接口设计规范
- 设计完成后维护apidoc,保证apidoc和接口一致
-
4.6 代码规划&设计
本系统内部分层及功能划分 参考优雅的代码实现 和 GO代码规范
4.7 指标判定
可用性指标 上线后及时观察监控指标
- 性能指标 接口平均耗时应小于100MS,特殊接口除外 对系统容量进行评估,按月评估目标值和增量值,计算所需要资源
安全性指标 遵守公司安全性规范以及部分安全规范参考 新项目需要通过安全评审
五. 上线流程
确认各个系统上线顺序(确定时间点以及依赖关系)
- 系统需要向下兼容接口
- 本系统上线checklist清单
- 制定回退策略及步骤
- 上线后密切关注报警、错误日志、以及数据库核心数据