后端业务架构文档模板

文章目录

    • 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 分层架构图

逻辑视图,用于描述系统的功能需求,即系统给用户提供哪些服务;以及描述系统软件功能拆解后的组件关系、组件约束和边界,反映系统整体组成与系统如何构建的过程。
在这里插入图片描述

2.2 系统链路图

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

2.3 系统部署图

开发出的软件系统,最终是要运行在物理或软件环境上。物理环境可能是服务器、PC机、移动终端等物理设备;软件环境可以是虚拟机、容器、进程或线程。部署图就是对这个部署信息进行描述。
在这里插入图片描述

3 关键流程

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

3.1 关键流程1

3.1.2 流程简述
3.1.2 业务流程图

在这里插入图片描述

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 关键问题总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/579697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

主流级显卡的新选择,Sparkle(撼与科技)Intel Arc A750兽人体验分享

▼前言 对于玩家而言,英特尔独显的出现不仅打破了NVIDIA与AMD双雄天下的局面,而且旗下的Arc A系列显卡还拥有不俗的做工性能以及颇具优势的价格,无论是升级或者是装新机都非常合适。如果要在Arc A系列当中选一个性能不俗,能够满足…

汽车项目管理

项目节点: MR (Management Review)——管理层评审 KO (Kick Off)——项目正式启动 SI (Strategy Intent)——战略意图 SC (Strategy Confirmation)——战略确认 PA (Program Approval)——项目批准 PR (Product Readiness)——产品就绪 VP (Verification Prototype)…

城市自贸区/经开区/产业园基于EasyCVR视频技术的可视化、移动化、智能化视频监管方案

一、背景需求 移动互联网的发展激发了用户对轻应用的使用习惯。4G、5G使得无线带宽快速提升,令大流量视频数据流逐渐从PC往手持终端转移。借助智能手持终端也可以实时查看、远程控制、存储录像、抓拍图像,能方便快捷地掌握所关注区域的视频动态。 随着…

Advanced IP Scanner - 网络扫描器

Advanced IP Scanner - 网络扫描器 1. Advanced IP ScannerReferences https://www.advanced-ip-scanner.com/cn/ ​ 可靠且免费的网络扫描器可以分析 LAN。该程序可扫描所有网络设备,使您能够访问共享文件夹和 FTP 服务器,(通过 RDP 和 Radmin) 远程控制…

redis,memcached,nginx网络组件,网络编程——reactor的应用

目录 目标网络编程关注的问题连接的建立连接的断开消息的到达消息发送完毕 网络 IO 职责检测 IO检测 io剖析 操作 IO 阻塞IO 和 非阻塞IOIO 多路复用epoll结构以及接口 reactor编程连接建立连接断开数据到达数据发送完毕 reactor 应用:后续补充源码解析单 reacrtor多…

Y9000P + ubuntu22.04 配置Anaconda+pycharm +pytorch

Anaconda3 的安装及使用方法安装 Anaconda3 Anaconda3 是 Anaconda 的具体版本 Anaconda3 中的 Python 解释器默认使用的是 Python3.x 版本,而不是 Python2.x 版本 Python2.x 版本中,字符串是以 ASCII 编码处理的,而在 Python3.x 版本中&am…

Oraclelinux部署Oracle服务

采用图形化界面 user用户 oracle用户 #清屏 clear #设置主机名 hostnamectl set-hostname ceshidb sed -i 1,2 s/^/#/ /etc/hosts echo "127.0.0.1 ceshidb" >> /etc/hosts echo "::1 ceshidb" >> /etc/hosts ping -c 5…

接口测试及常用接口测试工具(postman/jmeter)附教程

首先,什么是接口呢? 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给…

sheng的学习笔记-【中】【吴恩达课后测验】Course 4 -卷积神经网络 - 第三周测验

课程4_第3周_测验题 目录 第一题 1.现在你要构建一个能够识别三个对象并定位位置的算法,这些对象分别是:行人(c1),汽车(c2),摩托车(c3)。下图中的标签哪个…

在Centos7中利用Shell脚本:实现MySQL的数据备份

目录 自动化备份MySQL 一.备份数据库脚本 1.创建备份目录 2.创建脚本文件 3.新建配置文件(连接数据库的配置文件) 4.给文件权限(mysql_backup.sh) ​编辑 5.执行命令 (mysql_backup.sh) ​编辑 二.数据库通过备份恢复 1.创建脚…

【QML-输入类】

Qt编程指南-VX:hao541022348 ■ 输入类■ Slider■ TextArea■ Dial■ ComboBox■ RangeSlider■ TextField■ Tumbler ■ 输入类 提供了基于 数字 和 文本 输入的各种输入控件 ■ Slider 示例一: ColumnLayout{anchors.fill: parent;RowLayout{Labe…

K8S异常处理

一、概述 1、k8s有时候会报错The connection to the server ip:6443 was refused - did you specify the right host or port ,本文档提供几种可能产生该报错的原因和排障思路。 二、发现问题 使用任意Kubectl 命令会报错:The connection to the serv…

鸿蒙操作系统:从手机到物联网,打造全场景智能体验

随着科技的不断发展,人们对于操作系统的需求也在不断升级。鸿蒙操作系统,作为华为推出的新一代智能终端操作系统,凭借其强大的分布式能力、流畅的用户体验以及丰富的应用生态,正逐渐成为人们关注的焦点。 一、鸿蒙操作系统概述 …

Nacos2.1.2改造适配达梦数据库7.0

出于业务需求,现将Nacos改造适配达梦数据库7.0,记录本次改造过程。 文章目录 一、前期准备二、适配流程1、项目初始化2、引入驱动3、源码修改 三、启动测试四、打包测试 一、前期准备 Nacos源码,版本:2.1.2:源码下载…

python3遇到Can‘t connect to HTTPS URL because the SSL module is not available.

远程服务器centos7系统上有minicoda3,觉得太占空间,就把整个文件夹删了,原先的Python3也没了,都要重装。 我自己的步骤:进入管理员模式 1.下载Python3的源码: wget https://www.python.org/ftp/python/3.1…

电脑显卡驱动停止响应该怎么办?为什么会出现这种情况

显卡驱动停止响应的原因 当你电脑突然弹框说显卡驱动停止响应,你知道是出现什么问题了吗,下面我们为大家总结了有可能造成显卡驱动停止响应的原因。1. 过热:显卡在长时间高负载下可能会过热,导致驱动停止响应。过高的温度可能…

LSTM的记忆能力实验 [HBU]

目录 模型构建 LSTM层 模型训练 多组训练 模型评价 模型在不同长度的数据集上的准确率变化图 模型汇总 总结 长短期记忆网络(Long Short-Term Memory Network,LSTM)是一种可以有效缓解长程依赖问题的循环神经网络.LSTM 的…

uni-app tabbar组件

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…

SEO网站分类完整指南

你知道吗,适当的网站分类结构对于良好的SEO很重要?在我们的最新指南中了解如何使用网站分类。 对于那些已经在SEO领域工作了一段时间的人来说,你可能听说过网站分类法,因为它指的是网站。 当您提到网站的结构以及用户浏览的难易…

Zookeeper在分布式命名服务中的实践

Java学习面试指南:https://javaxiaobear.cn 命名服务是为系统中的资源提供标识能力。ZooKeeper的命名服务主要是利用ZooKeeper节点的树形分层结构和子节点的顺序维护能力,来为分布式系统中的资源命名。 哪些应用场景需要用到分布式命名服务呢&#xff1…