一. 项目简介

定义项目的边界和职责范围,处于整体系统的什么位置,核心功能是什么,边界是什么

二. 需求文档&项目背景

如果有需求文档放需求文档链接 & 如果没有说明立项的目标背景

三. 主要场景&设计模型

整体描述系统的主要场景,有模型方案的在此处说明设计模型

四. 技术方案

4.1 整体架构图

提供整体架构图,此处主要反映本系统处于整体架构中的位置,反映的是层级关系,相同的层级处于一个水平位置,通过架构图能发现整体系统的信息流量流转是否合理,防止系统定位不准职责不清晰。

4.2 场景时序图

主流程时序图。主要反映信息在时间维度上信息如何流转各个系统。涉及到多少外部交互系统。所有流转系统尽量体现,核心操作必须体现。

4.3 核心流程图

主流程流程图。主要反映本系统内关键业务逻辑如何实现。通过核心流程能够发现技术实现思路。

4.4 存储选型及容量规划&设计

  • 数据存储选型请参考 数据存储选型
  • 数据库设计请参考 MYSQL设计规范

    4.5 接口设计

  • 接口设计规范

  • 设计完成后维护apidoc,保证apidoc和接口一致
  • 接口的上线\下线\变更 一定要周知使用方

    4.6 代码规划&设计

  • 本系统内部分层及功能划分 参考优雅的代码实现GO代码规范

    4.7 指标判定

  • 可用性指标 上线后及时观察监控指标

  • 性能指标 接口平均耗时应小于100MS,特殊接口除外 对系统容量进行评估,按月评估目标值和增量值,计算所需要资源
  • 安全性指标 遵守公司安全性规范以及部分安全规范参考 新项目需要通过安全评审

    五. 上线流程

  • 确认各个系统上线顺序(确定时间点以及依赖关系)

  • 系统需要向下兼容接口
  • 本系统上线checklist清单
  • 制定回退策略及步骤
  • 上线后密切关注报警、错误日志、以及数据库核心数据