前言
我们一般在做架构设计的时候,会经历过三个阶段:需求分析、概要设计和详细设计。
- 需求分析阶段: 主要梳理所有用例(Use case)和场景,并抽象出面向系统的用户与角色,梳理出需求提供哪些功能与非功能的需求给这些用户。
- 概要设计阶段:根据需求分析的产物:核心需求,对整个系统进行模块划分,并定义好模块之间的交互关系。
- 详细设计阶段:通过多个视图来描述系统的架构,包括但不局限于:逻辑系统、物理视图、数据视图、物理视图
非功能需求
非功能的需求主要体现在高性能、高可用、可伸缩、可扩展、安全性等维度。
非功能需求对应不同系统指标
非功能需求对应不同系统指标主要分为 4 部分:
- 应用服务器
- 数据库
- 缓存
- 消息队列
1. 应用服务器
应用服务器是请求的入口,所有流量都是通过应用服务器来转发的。主要关心 QPS 、RT 等指标。容量与性能相关指标如下所示
1 | 复制代码1. 每天的请求量 |
2. 数据库
部署结构相关指标
1 | 复制代码1. 复制模型 |
容量与性能相关指标如下所示
1 | 复制代码1. 当前数据容量 |
3. 缓存
部署结构相关指标
1 | 复制代码1. 复制模型 |
容量与性能相关指标
1 | 复制代码1. 缓存内容大小 |
4. 消息队列
部署结构相关指标
1 | 复制代码1. 复制模型 |
容量与性能相关指标
1 | 复制代码1. 每天平均数据增量 |
参考
- 分布式服务架构原理、设计与实战
本文转载自: 掘金