质量属性

3 minIntermediate2026/6/14

性能、可用性、安全性、可修改性等架构质量属性与策略。

1. 质量属性概述

1.1 质量属性场景

每个质量属性可用场景描述:

组成说明示例
刺激源触发条件用户
刺激具体事件发起1000并发请求
环境系统状态正常运行
制品受影响的部分Web服务器
响应系统行为处理请求
度量量化指标99%请求<200ms

2. 性能

2.1 性能指标

指标说明
响应时间请求从发出到收到响应的时间
吞吐量单位时间处理的请求数
并发数同时处理的请求数
P50/P95/P99百分位延迟

2.2 性能策略

策略说明
缓存减少重复计算和IO
并发并行处理提高吞吐
负载均衡分散请求到多实例
数据库优化索引、分库分表
异步处理非关键路径异步化
CDN静态资源就近访问

3. 可用性

3.1 可用性等级

可用性=MTTFMTTF+MTTR\text{可用性} = \frac{\text{MTTF}}{\text{MTTF} + \text{MTTR}}

等级可用性年停机时间
2个999%3.65天
3个999.9%8.76小时
4个999.99%52.6分钟
5个999.999%5.26分钟

3.2 可用性策略

策略说明
冗余多实例、多机房
故障检测心跳、健康检查
故障恢复自动重启、故障转移
降级核心功能保障,非核心降级
熔断防止故障级联
限流防止过载

4. 安全性

4.1 安全策略

策略说明
认证验证身份(OAuth2、JWT)
授权控制访问权限(RBAC、ABAC)
加密传输加密(TLS)和存储加密
审计记录操作日志
输入验证防止注入攻击
最小权限只授予必要权限

5. 可修改性

5.1 可修改性策略

策略说明
模块高内聚低耦合
抽象层隐藏实现细节
接口稳定接口向后兼容
配置外部化运行时配置而非硬编码
插件化可扩展的插件机制

6. 质量属性权衡

权衡说明
性能 vs 安全加密增加延迟
可用性 vs 一致性CAP定理
性能 vs 可修改性优化降低灵活性
安全 vs 易用性认证增加操作步骤