Files
my-vault/02_Areas/Personal Development/System Architecture/Architecture-Goals-Architecture-Goals.md
T

89 lines
4.5 KiB
Markdown
Raw Normal View History

2026-01-05 13:03:55 +08:00
---
title: 架构目标(Architecture Goals)总结
tags: [architecture, goals, SLO, NFR, governance]
created: "<% tp.file.creation_date('YYYY-MM-DD') %>"
updated: "<% tp.file.last_modified_date('YYYY-MM-DD HH:mm') %>"
---
> 架构目标 = 面向业务的**可度量**NFR 套件 + **清晰边界与取舍** + **工程化落地**(观测、演练、回滚)+ **持续复盘**。
## 1. 目标框架(Framework
- 业务价值:增长/转化/留存/合规/成本
- 质量属性(NFR):可用性、性能、安全、可维护性、可扩展性、可观测性、韧性、成本、合规
- 约束:预算、交付周期、团队能力、地域/数据主权、遗留系统边界
- 产出:SLO/阈值、数据源、验证方法、Error Budget、ADR/Trade-off 记录
## 2. 维度与指标(Dimensions & KPIs
| 维度 | 典型指标 |
|---|---|
| 可用性 | 月度 SLO(如 99.95%)、MTTR、MTBF、Error Budget |
| 性能 | P95/P99 延迟、QPS/TPS、并发连接、队列时长 |
| 可靠性/韧性 | 错误率、降级成功率、熔断/限流命中、故障演练通过率 |
| 安全 | 高危漏洞处置时限、证书/密钥轮换周期、加密覆盖率、审计合规 |
| 可维护性 | 变更 Lead Time、变更失败率、回滚时长、代码可测试性 |
| 可扩展性 | 扩缩容时间、峰值利用率、容量裕度 |
| 可观测性 | RED/USE 覆盖率、追踪采样策略、告警→行动闭环率 |
| 成本 | Cost/Txn、成本结构占比(计算/存储/网络/日志/监控) |
| 合规 | 数据驻留/留存期/可删除、审计通过率 |
## 3. SMART 化表达(Examples
- 可用性:**99.95%/月**;“可用”定义= P95 ≤ 400ms 且错误率 ≤ 0.2% → Error Budget ≈ 22 分钟/月
- 性能:`/checkout` **P95 ≤ 250ms、P99 ≤ 600ms** @ 5k QPS
- 安全:高危漏洞 **≤ 24h** 修复;静态数据加密 **100% 覆盖**
- 维护:主干集成 Lead Time **≤ 1 天**;单键回滚 **≤ 15 分钟**
- 成本:**Cost/1000 req ≤ $0.08**;监控+日志成本 **≤ 18%**
## 4. 制定流程(Playbook
1) 业务对齐 → 明确北极星指标
2) 关键路径建模 → C4 + 时序 + 依赖图
3) 设定 SLO 与成本上限 → 基于历史与压测基线
4) 明确约束与非目标(不做/后做)
5) 方案权衡 → Trade-off Matrix + ADR
6) 接入度量/告警/演练 + 灰度/回滚策略
7) 月度/季度复盘 → 目标、成本、事故与技术债
### Trade-off Matrix(简表)
| 方案 | 可用性 | 成本 | 复杂度 | 交付周期 | 结论 |
|---|---:|---:|---:|---:|---|
| 单 Region 多 AZ | 高 | 中 | 中 | 快 | 先上 |
| 多 Region 主备 | 更高 | 高 | 高 | 中 | 次阶段 |
| 多 Region 多活 | 最高 | 最高 | 最高 | 慢 | 暂缓 |
## 5. 落地抓手(Engineering Levers
- 变更安全网:金丝雀 + 自动回滚 + 契约测试 + DB 迁移对称脚本
- 韧性底座:超时/重试退避/熔断/隔离舱/限流/降级 **统一库 + 配置化**
- 容量模型:峰值 N 倍冗余;弹性扩容 **≤ 5 分钟**
- 观测默认开启:RED/USE 指标、端到端追踪、Runbook 与告警绑定
- 数据主权:谁是“真源”、一致性策略(强一致/最终一致/CQRS/Outbox
## 6. 冲突与解法(Trade-offs
- 可用性 ↔ 成本:分层 SLO + 主备先行,逐步演进多活
- 性能 ↔ 一致性:核心写强一致,读侧 CQRS + 最终一致
- 安全 ↔ 体验:风险分层验证(低风险免验证,高风险二验)
- 可观测性 ↔ 成本:追踪采样 + 热点全量;日志冷热分层
## 7. 评审清单(Checklist
- [ ] 与业务北极星对齐,定义“可用/达成”的**判定条件**
- [ ] 每个目标 **可度量**(阈值、数据源、验证方法)
- [ ] 明确 **非目标/边界** 与阶段性演进计划
- [ ] 关键链路有端到端观测与 **Runbook/告警**
- [ ] 具备 **压测与容量评估**、留足冗余
- [ ] 灰度/回滚/契约测试/DB 迁移流程完备
- [ ] 安全与合规评审通过,关键证据归档
- [ ] 成本上限与分摊模型可视化
- [ ] ADR/Trade-off 文档化并归档
## 8. 模板(Templates
### 8.1 SLO 模板
```text
【目标名称】结算服务端到端可用性
SLO99.95% / 月;滑动窗口:5 分钟
“可用”定义:P95 ≤ 400ms 且 错误率 ≤ 0.2%
Error Budget:≈ 22 分钟/月
数据源:Prometheus / OTelcheckout_end_to_end_*
发布策略:金丝雀 + 自动回滚
韧性参数:依赖超时 800ms;重试指数退避上限 2 次
演练计划:季度混沌、半年度跨 AZ 切流
负责人:结算团队 TL