4.5 KiB
4.5 KiB
title, tags, created, updated
| title | tags | created | updated | |||||
|---|---|---|---|---|---|---|---|---|
| 架构目标(Architecture Goals)总结 |
|
<% 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 分钟/月
- 性能:
/checkoutP95 ≤ 250ms、P99 ≤ 600ms @ 5k QPS - 安全:高危漏洞 ≤ 24h 修复;静态数据加密 100% 覆盖
- 维护:主干集成 Lead Time ≤ 1 天;单键回滚 ≤ 15 分钟
- 成本:Cost/1000 req ≤ $0.08;监控+日志成本 ≤ 18%
4. 制定流程(Playbook)
- 业务对齐 → 明确北极星指标
- 关键路径建模 → C4 + 时序 + 依赖图
- 设定 SLO 与成本上限 → 基于历史与压测基线
- 明确约束与非目标(不做/后做)
- 方案权衡 → Trade-off Matrix + ADR
- 接入度量/告警/演练 + 灰度/回滚策略
- 月度/季度复盘 → 目标、成本、事故与技术债
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 / OTel(checkout_end_to_end_*)
发布策略:金丝雀 + 自动回滚
韧性参数:依赖超时 800ms;重试指数退避上限 2 次
演练计划:季度混沌、半年度跨 AZ 切流
负责人:结算团队 TL