质量属性(Quality Attributes)
质量属性 = 非功能性需求(NFR)的工程化拆解。本 group 解决 L2 第四问:"可维护 / 可演化 / 可观测怎么权衡?"
本 group 包含
| 文档 | 核心问题 | V2 节点 |
|---|---|---|
| Trilemma | 一致性/可用/分区——三选二? | B6 权衡 |
| Maintainability | 可维护性如何度量? | B6 + B7 |
| Performance-Consistency | 性能与一致性的取舍? | B6 权衡 |
| Observability | 可观测性如何设计? | 控制论 Ch 1 反馈 |
质量属性的 4 大类
质量属性 = 4 大类(NFR 雷达图)
1. 可用性(Availability) — 多久能恢复?SLA
2. 可演化性(Evolvability) — 改一个地方要动多少处?
3. 可观测性(Observability) — 出了事能不能 5 分钟定位?
4. 一致性(Consistency) — 强一致还是最终一致?阅读顺序
trilemma (基调:CAP 三选二)
↓
performance-consistency (性能 vs 一致性)
↓
maintainability (可维护性度量)
↓
observability (可观测性设计)与其他 group 的关系
- 上游:02-architecture(架构 → 质量属性)
- 下游:L4-operation(质量属性 → 监控指标 / SLO)
关键洞察
质量属性的核心不是"都做满"——是"明确取舍"——
- 选强一致 → 牺牲可用性
- 选可演化 → 牺牲短期开发速度
- 选可观测 → 牺牲运行时性能(采集成本) 没有"全部都要"的工程,只有"我选了哪几个"的工程。
相关链接
- L2 Architecture——质量属性的源头
- L2 Patterns——模式 → 质量属性影响
- L4 Monitoring——质量属性 → 监控
- V2 B6 权衡——NFR 权衡