Skip to content

非功能需求架构映射分析

文档编号:SYS-ANA-ARCH-002
文档版本:1.0
创建日期:2026-03-08
文档作者:架构师
文档状态:草稿


1. 概述

1.1 文档目的

本文档将非功能需求(性能、安全、可用性等)映射到架构能力,明确架构设计需要满足的非功能性指标。

1.2 输入文档

  • 项目章程(非功能性需求定义)
  • 业务需求文档(BRD)
  • 功能需求架构映射分析

1.3 非功能需求分类

mermaid
mindmap
  root((非功能需求))
    性能需求
      响应时间
      吞吐量
      并发能力
      资源利用率
    安全需求
      认证授权
      数据安全
      传输安全
      审计合规
    可用性需求
      系统可用性
      故障恢复
      备份恢复
      灾难恢复
    可扩展性需求
      水平扩展
      垂直扩展
      功能扩展
    可维护性需求
      可监控性
      可测试性
      可部署性
    兼容性需求
      浏览器兼容
      接口兼容
      数据兼容

2. 性能需求映射

2.1 响应时间需求

2.1.1 响应时间指标

场景类型目标响应时间最大响应时间测量方法架构策略
页面加载< 2s< 5s首屏时间CDN、懒加载、代码分割
API响应< 500ms< 1s服务端处理缓存、异步、连接池
登录认证< 1s< 3s端到端缓存、JWT、会话优化
数据查询< 500ms< 2s数据库查询索引、分页、搜索优化
文件上传< 5s/MB< 10s/MB传输时间分片上传、CDN加速
报表生成< 10s< 30s处理时间异步处理、预计算

2.1.2 响应时间架构映射

mermaid
flowchart LR
    subgraph 前端优化
        A[CDN加速]
        B[资源压缩]
        C[懒加载]
    end
    
    subgraph 网关优化
        D[负载均衡]
        E[限流熔断]
        F[缓存加速]
    end
    
    subgraph 服务优化
        G[连接池]
        H[异步处理]
        I[本地缓存]
    end
    
    subgraph 数据优化
        J[数据库索引]
        K[Redis缓存]
        L[ES搜索]
    end
    
    A --> D
    B --> D
    C --> D
    D --> G
    E --> G
    F --> G
    G --> J
    H --> J
    I --> K
    J --> L

2.2 吞吐量需求

2.2.1 吞吐量指标

指标项目标值峰值要求测量周期架构策略
日活跃用户10,000+50,000每日水平扩展
并发用户数1,000+5,000实时负载均衡、无状态
QPS2,000+10,000每秒缓存、异步、分片
TPS500+2,000每秒消息队列、批量处理
数据写入10万条/天50万条/天每日批量插入、异步
数据查询100万次/天500万次/天每日缓存、搜索优化

2.2.2 吞吐量架构映射

mermaid
flowchart TB
    subgraph 接入层
        A[负载均衡器<br/>Nginx]
        B[API网关<br/>Spring Cloud Gateway]
    end
    
    subgraph 应用层
        C[应用集群<br/>多实例部署]
        D[缓存集群<br/>Redis Cluster]
    end
    
    subgraph 消息层
        E[消息队列<br/>RabbitMQ/Kafka]
    end
    
    subgraph 数据层
        F[数据库集群<br/>MySQL主从]
        G[搜索引擎<br/>Elasticsearch]
    end
    
    A --> B
    B --> C
    C --> D
    C --> E
    C --> F
    D --> F
    E --> F
    F --> G

2.3 并发能力需求

2.3.1 并发场景分析

并发场景并发用户数持续时间资源需求架构策略
早高峰登录2,00030分钟CPU/内存弹性伸缩、缓存预热
批量操作5001小时数据库限流、队列削峰
数据同步100持续网络/IO异步处理、增量同步
报表导出502小时CPU/内存异步任务、资源隔离
系统管理员20全天数据库连接池优化

2.3.2 并发架构设计

mermaid
flowchart LR
    subgraph 连接管理
        A[连接池<br/>HikariCP]
        B[线程池<br/>ThreadPool]
        C[协程池<br/>WebFlux]
    end
    
    subgraph 并发控制
        D[限流<br/>RateLimiter]
        E[熔断<br/>CircuitBreaker]
        F[降级<br/>Fallback]
    end
    
    subgraph 资源隔离
        G[服务隔离]
        H[线程隔离]
        I[信号量隔离]
    end
    
    A --> D
    B --> E
    C --> F
    D --> G
    E --> H
    F --> I

2.4 资源利用率需求

资源类型正常范围告警阈值极限阈值优化策略
CPU使用率< 60%70%85%弹性伸缩、代码优化
内存使用率< 70%80%90%缓存策略、垃圾回收
磁盘使用率< 70%80%90%日志归档、数据清理
网络带宽< 60%70%80%CDN、压缩、缓存
数据库连接< 70%80%90%连接池优化、读写分离

3. 安全需求映射

3.1 认证授权需求

3.1.1 认证安全要求

安全项要求等级具体要求架构实现
密码策略8-20位,复杂度要求bcrypt加密,正则校验
登录失败5次失败锁定30分钟Redis计数,自动解锁
会话超时30分钟无操作退出JWT过期,Refresh Token
多因素认证支持MFATOTP/短信验证码
单点登录支持SSOOAuth2.0 + JWT
密码找回安全验证流程邮件/短信验证

3.1.2 认证架构设计

mermaid
flowchart TB
    subgraph 认证方式
        A[账号密码]
        B[短信验证码]
        C[企业微信]
        D[SSO]
    end
    
    subgraph 认证服务
        E[登录认证服务]
        F[Token服务]
        G[会话管理服务]
    end
    
    subgraph 安全机制
        H[密码加密<br/>bcrypt]
        I[限流保护<br/>RateLimiter]
        J[风控检测<br/>RiskControl]
    end
    
    subgraph 存储
        K[Redis<br/>Session/Token]
        L[MySQL<br/>User/Log]
    end
    
    A --> E
    B --> E
    C --> E
    D --> E
    E --> F
    E --> G
    E --> H
    E --> I
    E --> J
    F --> K
    G --> K
    H --> L
    I --> L
    J --> L

3.2 数据安全需求

3.2.1 数据安全要求

数据类型安全等级存储要求传输要求架构实现
用户密码最高bcrypt加密HTTPS单向加密,盐值随机
手机号AES加密HTTPS字段级加密,密钥管理
身份证号AES加密HTTPS字段级加密,脱敏显示
邮箱地址明文存储HTTPS格式校验,脱敏显示
操作日志明文存储HTTPS完整性校验,防篡改
系统配置加密存储HTTPS配置中心,访问控制

3.2.2 数据安全架构

mermaid
flowchart TB
    subgraph 数据分类
        A[敏感数据]
        B[个人数据]
        C[业务数据]
        D[日志数据]
    end
    
    subgraph 加密策略
        E[存储加密<br/>AES-256]
        F[传输加密<br/>TLS1.3]
        G[哈希加密<br/>bcrypt]
    end
    
    subgraph 访问控制
        H[RBAC权限]
        I[数据权限]
        J[审计日志]
    end
    
    subgraph 密钥管理
        K[密钥生成]
        L[密钥存储]
        M[密钥轮换]
    end
    
    A --> E
    A --> F
    A --> G
    B --> E
    B --> H
    C --> H
    C --> I
    D --> J
    E --> K
    E --> L
    F --> L
    G --> L
    K --> M

3.3 传输安全需求

安全项要求实现方式配置要求
传输协议HTTPSTLS 1.2+强制HTTPS,HSTS
证书管理有效证书Let's Encrypt/商业证书自动续期,到期提醒
加密算法强加密AES-256-GCM禁用弱算法
完美前向保密支持ECDHE启用PFS
证书固定可选HPKP防止中间人攻击

3.4 审计合规需求

3.4.1 审计要求

审计项记录内容保留期限存储方式
登录日志时间、IP、账号、结果1年数据库存储
操作日志时间、用户、操作、对象2年Elasticsearch
权限变更时间、操作人、变更内容3年数据库存储
数据导出时间、用户、数据范围3年数据库存储
系统配置时间、操作人、配置项永久版本控制

3.4.2 审计架构

mermaid
flowchart LR
    subgraph 日志采集
        A[操作拦截器]
        B[数据库触发器]
        C[文件监控]
    end
    
    subgraph 日志处理
        D[日志格式化]
        E[敏感数据脱敏]
        F[日志过滤]
    end
    
    subgraph 日志存储
        G[MySQL<br/>结构化日志]
        H[Elasticsearch<br/>搜索分析]
        I[文件存储<br/>原始日志]
    end
    
    subgraph 日志分析
        J[实时监控]
        K[异常检测]
        L[报表统计]
    end
    
    A --> D
    B --> D
    C --> D
    D --> E
    E --> F
    F --> G
    F --> H
    F --> I
    G --> J
    H --> K
    H --> L

4. 可用性需求映射

4.1 系统可用性需求

可用性等级可用性指标年停机时间适用场景架构策略
高可用99.9%< 8.76小时核心业务集群部署、故障转移
极高可用99.99%< 52.6分钟关键功能多活架构、自动恢复
最高可用99.999%< 5.26分钟认证服务异地多活、零停机

4.2 故障恢复需求

故障类型RTO目标RPO目标恢复策略架构实现
应用故障< 5分钟0自动重启、服务降级Kubernetes自愈
数据库故障< 15分钟< 1分钟主从切换、读写分离MySQL MHA
缓存故障< 5分钟0缓存重建、直接查库Redis Sentinel
网络故障< 10分钟0多线路、自动切换多ISP接入
机房故障< 30分钟< 5分钟异地灾备、流量切换DNS切换

4.3 备份恢复需求

数据类型备份频率保留期限备份方式恢复测试
数据库每日全量+实时增量30天物理备份+逻辑备份每月一次
配置文件每次变更永久Git版本控制每季度一次
上传文件实时同步永久对象存储多副本每半年一次
日志数据实时归档1-3年压缩存储每年一次

4.4 高可用架构设计

mermaid
flowchart TB
    subgraph 接入层
        A[DNS<br/>智能解析]
        B[CDN<br/>静态加速]
    end
    
    subgraph 网关层
        C[负载均衡<br/>Nginx集群]
        D[API网关<br/>Gateway集群]
    end
    
    subgraph 应用层
        E[应用实例1]
        F[应用实例2]
        G[应用实例N]
    end
    
    subgraph 数据层
        H[MySQL主从]
        I[Redis集群]
        J[Elasticsearch集群]
    end
    
    A --> B
    B --> C
    C --> D
    D --> E
    D --> F
    D --> G
    E --> H
    E --> I
    F --> H
    F --> I
    G --> H
    G --> I
    H --> J
    I --> J

5. 可扩展性需求映射

5.1 水平扩展需求

扩展维度当前规模目标规模扩展策略架构支持
用户规模10,000100,00010倍扩展无状态服务、分布式存储
并发能力1,00010,00010倍扩展负载均衡、弹性伸缩
数据存储100GB1TB10倍扩展分库分表、数据归档
功能模块5个20个4倍扩展微服务、插件化

5.2 垂直扩展需求

资源类型当前配置最大配置扩展方式架构支持
CPU4核32核升级实例多线程优化
内存8GB64GB升级实例缓存优化
存储100GB2TB扩容磁盘数据分片
带宽100Mbps1Gbps升级带宽CDN加速

5.3 功能扩展需求

扩展类型扩展方式实现机制架构支持
新功能模块插件化动态加载、热部署模块化设计
新集成系统配置化适配器模式、配置驱动集成框架
新业务流程工作流流程引擎、可视化配置BPM集成
新报表类型模板化报表引擎、自定义模板报表平台

6. 可维护性需求映射

6.1 可监控性需求

监控维度监控指标采集频率告警阈值存储期限
应用性能QPS、RT、错误率10秒自动计算15天
系统资源CPU、内存、磁盘30秒70%30天
业务指标登录数、操作数1分钟自定义90天
日志监控错误日志、异常实时关键字匹配30天
链路追踪请求链路、依赖全量采样慢查询7天

6.2 监控架构

mermaid
flowchart LR
    subgraph 数据采集
        A[Prometheus<br/>指标采集]
        B[ELK<br/>日志采集]
        C[Jaeger<br/>链路追踪]
    end
    
    subgraph 数据存储
        D[时序数据库]
        E[Elasticsearch]
        F[对象存储]
    end
    
    subgraph 数据展示
        G[Grafana<br/>可视化]
        H[Kibana<br/>日志分析]
        I[Jaeger UI<br/>链路分析]
    end
    
    subgraph 告警通知
        J[Alertmanager]
        K[邮件通知]
        L[企业微信]
    end
    
    A --> D
    B --> E
    C --> F
    D --> G
    E --> H
    F --> I
    G --> J
    H --> J
    J --> K
    J --> L

6.3 可测试性需求

测试类型覆盖率要求自动化程度执行频率架构支持
单元测试> 80%100%每次构建测试框架、Mock
集成测试> 60%80%每日构建测试环境、数据准备
接口测试> 90%100%每次部署API文档、测试工具
性能测试关键路径50%每周压测工具、监控
安全测试高危漏洞30%每月扫描工具、渗透测试

6.4 可部署性需求

部署特性要求实现方式架构支持
自动化部署一键部署CI/CD流水线Jenkins/GitLab CI
灰度发布支持金丝雀发布Kubernetes滚动更新
蓝绿部署支持双环境切换负载均衡切换
回滚能力< 5分钟版本管理镜像版本、数据库迁移
配置分离环境隔离配置中心Nacos/Apollo

7. 兼容性需求映射

7.1 浏览器兼容性

浏览器最低版本支持程度测试要求
Chrome90+完全支持必测
Firefox88+完全支持必测
Safari14+完全支持必测
Edge90+完全支持必测
IE不支持--

7.2 接口兼容性

接口类型版本策略兼容性要求废弃策略
REST APIURL版本化向下兼容2个版本提前3个月通知
消息格式JSON Schema字段兼容新增可选字段
数据库迁移脚本支持回滚双写过渡

7.3 数据兼容性

数据类型兼容性要求迁移策略验证方式
数据库结构向前兼容增量迁移数据校验
配置文件向后兼容自动转换配置验证
缓存数据可重建清空重建功能测试

8. 非功能需求优先级矩阵

8.1 需求优先级评估

mermaid
quadrantChart
    title 非功能需求优先级矩阵
    x-axis 低影响 --> 高影响
    y-axis 低紧迫性 --> 高紧迫性
    quadrant-1 立即实施
    quadrant-2 优先规划
    quadrant-3 持续改进
    quadrant-4 酌情考虑
    
    "性能优化": [0.8, 0.9]
    "安全防护": [0.9, 0.95]
    "高可用": [0.85, 0.9]
    "监控告警": [0.7, 0.8]
    "自动化测试": [0.6, 0.7]
    "灰度发布": [0.5, 0.6]
    "性能测试": [0.4, 0.5]
    "安全测试": [0.6, 0.5]
    "容灾备份": [0.7, 0.6]
    "文档完善": [0.3, 0.4]

8.2 实施路线图

mermaid
gantt
    title 非功能需求实施路线图
    dateFormat  YYYY-MM
    
    section 第一阶段(MVP)
    基础安全防护    :a1, 2026-03, 1M
    核心性能优化    :a2, 2026-03, 1M
    基础监控        :a3, 2026-03, 1M
    
    section 第二阶段
    高可用架构      :a4, 2026-04, 1M
    自动化测试      :a5, 2026-04, 1M
    灰度发布        :a6, 2026-04, 1M
    
    section 第三阶段
    性能测试优化    :a7, 2026-05, 1M
    安全测试加固    :a8, 2026-05, 1M
    容灾备份        :a9, 2026-05, 1M
    
    section 第四阶段
    持续优化        :a10, 2026-06, 1M
    文档完善        :a11, 2026-06, 1M

9. 附录

9.1 术语表

术语定义
RTO恢复时间目标(Recovery Time Objective)
RPO恢复点目标(Recovery Point Objective)
QPS每秒查询数(Queries Per Second)
TPS每秒事务数(Transactions Per Second)
RT响应时间(Response Time)
MFA多因素认证(Multi-Factor Authentication)
SSO单点登录(Single Sign-On)
TLS传输层安全(Transport Layer Security)
HSTSHTTP严格传输安全(HTTP Strict Transport Security)
HPKPHTTP公钥固定(HTTP Public Key Pinning)

9.2 参考文档

  • 项目章程
  • 业务需求文档(BRD)
  • 功能需求架构映射分析
  • 等保三级要求文档

9.3 修订记录

版本日期作者变更内容
1.02026-03-08架构师初始版本

文档编制:架构师
文档审核:技术负责人
编制日期:2026-03-08

Released under the MIT License.