Files
my-vault/02_Areas/Personal Development/System Architecture/架构目标(Architecture Goals).md
T

4.5 KiB
Raw Blame History

title, tags, created, updated
title tags created updated
架构目标(Architecture Goals)总结
architecture
goals
SLO
NFR
governance
<% tp.file.creation_date('YYYY-MM-DD') %> <% 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 模板

【目标名称】结算服务端到端可用性
SLO:99.95% / 月;滑动窗口:5 分钟
“可用”定义:P95 ≤ 400ms 且 错误率 ≤ 0.2%
Error Budget:≈ 22 分钟/月
数据源:Prometheus / OTelcheckout_end_to_end_*
发布策略:金丝雀 + 自动回滚
韧性参数:依赖超时 800ms;重试指数退避上限 2 次
演练计划:季度混沌、半年度跨 AZ 切流
负责人:结算团队 TL