在系统架构设计中,质量属性(Quality Attributes)是考试中的核心考点,也是实际工程设计的重要依据。
一句话理解:
功能决定“做什么”,质量属性决定“做得好不好”。
一、核心质量属性
1. 性能(Performance)
- 响应时间
- 吞吐量
- 并发能力
2. 可用性(Availability)
- 系统是否随时可用
- 典型指标:99.9%、99.99%
- 核心:容错、故障切换
3. 可靠性(Reliability)
- 长期稳定运行
- 错误率低
- 数据正确
4. 安全性(Security)
- 身份认证
- 权限控制
- 数据加密
5. 可维护性(Maintainability)
系统是否容易修改、扩展、排查问题。
6. 可扩展性(Scalability)
系统是否可以通过增加资源提升能力。
7. 易用性(Usability)
用户是否容易使用系统。
二、核心易混点解析
1. 可用性 vs 可靠性
| 对比维度 | 可用性 | 可靠性 |
|---|---|---|
| 关注点 | 能不能用 | 会不会出错 |
| 时间维度 | 某一时刻 | 一段时间 |
| 典型问题 | 系统宕机 | 数据错误 |
记忆口诀:能不能用看可用,用得准不准看可靠
2. 容错能力归属(重点考点)
结论:
容错能力属于 可用性,不是可靠性。
原因:
- 容错:已经发生错误,但系统还能继续运行
- 可靠性:尽量不发生错误
一句话总结:
容错是“出错后还能用”,不是“减少出错”。
三、考试避坑总结
看到这些关键词 → 选“可用性”
- 容错
- 故障切换
- 高可用
- 不中断服务
看到这些关键词 → 选“可靠性”
- 数据正确性
- 错误率低
- 系统稳定运行
四、架构设计中的权衡(高频考点)
| 方案 | 提升 | 牺牲 |
|---|---|---|
| 缓存 | 性能 | 一致性 |
| 微服务 | 扩展性 | 复杂度 |
| 加密 | 安全性 | 性能 |
五、总结
核心一句话:
可靠性:尽量不出错
可用性:出错了也能用
理解这一点,相关选择题基本不会再错。