后端业务架构文档模板

文章目录

    • 1 业务理解
      • 1.1 项目目标
      • 1.2 业务术语
      • 1.3 系统边界
      • 1.4 关键领域模型
    • 2 系统架构图
      • 2.1 分层架构图
      • 2.2 系统链路图
      • 2.3 系统部署图
    • 3 关键流程
      • 3.1 关键流程1
        • 3.1.2 流程简述
        • 3.1.2 业务流程图
        • 3.1.3 安全性
          • 3.1.3.1 资金安全
          • 3.1.3.2 内容安全
      • 3.1.4 稳定性
        • 3.1.4.1 接口依赖
        • 3.1.4.2 限流
        • 3.1.4.3 可伸缩性
        • 3.1.4.4 数据库
        • 3.1.4.5 缓存
        • 3.1.4.6 数据一致性
        • 3.1.4.7 监控告警
        • 3.1.4.8 容灾兜底快恢
        • 3.1.4.9 核心预案
        • 3.1.4.10 其它风险
    • 3.2 关键流程2
    • 3.3 关键流程3
  • 4 资源信息
    • 4.1 容器
    • 4.2 数据库
    • 4.3 缓存
    • 4.4 消息队列
    • 4.5 定时任务
    • 4.6 其它资源
  • 5 关键问题总结

参考文档:
《 XXXX》

变更记录:

版本号 变更人 变更时间 变更记录
V1.0.0 张三 2022-12-10 初始模板

1 业务理解

1.1 项目目标

项目的范围、约束和期望

1.2 业务术语

名词 解释 案例
充值
提现

1.3 系统边界

描述系统负责的业务范围,以及上下游关系。

1.4 关键领域模型

2 系统架构图

2.1 分层架构图

逻辑视图,用于描述系统的功能需求,即系统给用户提供哪些服务;以及描述系统软件功能拆解后的组件关系、组件约束和边界,反映系统整体组成与系统如何构建的过程。
后端业务架构文档模板_第1张图片

2.2 系统链路图

用于描述系统软件组件之间的通信时序,数据的输入输出。这里描述的是整个系统组件间的处理过程,而不是具体某个接口内部的处理流程图。

2.3 系统部署图

开发出的软件系统,最终是要运行在物理或软件环境上。物理环境可能是服务器、PC机、移动终端等物理设备;软件环境可以是虚拟机、容器、进程或线程。部署图就是对这个部署信息进行描述。
后端业务架构文档模板_第2张图片

3 关键流程

关键流程是指可能产生高舆情、高资损风险的场景

3.1 关键流程1

3.1.2 流程简述
3.1.2 业务流程图

后端业务架构文档模板_第3张图片

3.1.3 安全性
3.1.3.1 资金安全

资金安全评估,包括且不限于如下几项

  1. 资金调用链路。如支付宝、微信转账完整链路,用户优惠券发放链路。
  2. 资金对账方案。整体对账+明细对账方案,对账口径等。
  3. 资损评估。是否有资损(包括用户资金损失和平台资金损失),风险规模,熔断和止损方案。
3.1.3.2 内容安全

如果有PGC/UGC的内容,或者有用户、商家上传的部分,要明确每个字段的内容安全方案。

3.1.4 稳定性

3.1.4.1 接口依赖
接口名 访问链接 下游强弱依赖和读写比例 日常&峰值流量
xxDB:强依赖,2读1写

强依赖:下游错误时自身接口完全不可用。
弱依赖:下游错误时,自身功能部分不可能,如部分字段不展示或展示计算中等。

3.1.4.2 限流
接口名 是否有限流,如果有限流则说明方案和影响

限流方案如:

  1. SLB限流
  2. 应用内如Sentinel限流
  3. cpu等自适应限流
  4. 消息队列消费速率限流
  5. 对下游限流(保护下游,或者防止下游拖垮自己)

限流时影响包括且不限于:

  1. 用户侧错误信息、文案,不能报被限流等,也不能提示用户重试(避免雪崩)。
  2. 资金、权益类场景重点关注前端兜底文案,不能兜底显示中奖或具体金额,可显示错误页或者部分数值显示“计算中”等。
  3. 可能产生的数据不一致情况,以及如何应对。
3.1.4.3 可伸缩性
链路名 资源是否可以水平扩展 链路上是否有单点风险 如果出现资源不足如何应对
登录
抢红包
3.1.4.4 数据库

数据库性能评估,包括不限于日常&峰值水位(cpu、内存、磁盘等占比),慢SQL

3.1.4.5 缓存

梳理缓存抖动、击穿、热点、带宽打满等异常情况下对业务的影响。

3.1.4.6 数据一致性

评估链路中是否有数据不一致的场景,包括不限于:

  1. 分布式写场景。部分写失败场景,幂等、重试等逻辑。
  2. 异步链路:消息延迟、乱序、丢失等风险。
  3. 离线计算链路:如果离线任务产出不及时,对系统的影响。
  4. 数据污染:上游数据错误、离线任务产出异常防范,如设置关键字段的上下限(优惠券发放最多xx元)

针对每个场景,要明确:

  1. 数据不一致的影响面
  2. 是否会出现资损或舆情
  3. 对账、监控、告警
3.1.4.7 监控告警
  1. 接口成功率监控
  2. 接口流量监控
  3. 应用cpu、线程池、磁盘等监控
  4. 数据库监控
  5. 对账监控
3.1.4.8 容灾兜底快恢
  1. 强弱依赖整理,降级方案
  2. 容灾。如存储可靠性、存储备份、应用可用性、多机房等
  3. 兜底机制
  4. 单点风险
  5. 快恢方案
3.1.4.9 核心预案

罗列业务中关键的可开关、可调整参数等

3.1.4.10 其它风险
风险 解决方案/结论
数据迁移过程中,可能会有丢数据风险 这么XX做可以基本规避这个风险

3.2 关键流程2

3.3 关键流程3

4 资源信息

4.1 容器

ECS、微服务容器等资源情况。

4.2 数据库

实例 类型 表名 是否分库分表,分表字段 单表总行数 每日新增行数
mysql、TableStore等

4.3 缓存

4.4 消息队列

实例 Topic 峰值qps 每日总量 消息平均大小 订阅者列表

4.5 定时任务

任务 实现方式(分布式、crontab等) 执行开始时间 平均时长 备注

4.6 其它资源

SLB、CDN、OSS等

5 关键问题总结

维度 问题 级别 描述 解决方案 成本 责任人 完成时间
安全 高/中/低 高/中/低
稳定性
成本
效率
体验

你可能感兴趣的:(研发流程,架构)