第 8 章配套代码索引
这一章的代码是机制,不是分析——它们会在你不看着的时候自动运行。
一、文件清单
| 文件 | 对应小节 | 内容 |
|---|---|---|
| 01-why-gates.md | 8.1 为什么需要门禁 | 渐进退化模拟 + 门禁经济性计算 |
| 02-ci-benchmark-gate.md | 8.2 CI 微基准门禁 | CI workflow + 比较脚本 + 噪声分析 + 误报日志 |
| 03-e2e-perf-gate.md | 8.3 全链路性能门禁 | 全链路门禁脚本(含饱和度检查) |
| 04-production-observability.md | 8.4 生产观测:SLI 与错误预算 | SLO 定义 + 错误预算 PromQL + 看板 |
| 05-alerting.md | 8.5 告警设计 | 告警规则全集 + 有效率复盘脚本 |
| 06-traffic-replay-and-canary.md | 8.6 流量回放与金丝雀 | 脱敏 + 副作用阻断 + 金丝雀监控 |
| 07-capacity-planning.md | 8.7 容量规划 | 容量计算器 + 简化复测脚本 + 容量告警 |
| 08-review-and-org.md | 8.8 性能评审与组织落地 | PR 模板 + 性能周报生成器 + 业务语言翻译 |
| 09-lab8.md | 8.9 Lab 8 | Lab 8 编排与零误报验证 |
二、这些代码的运行环境
| 代码 | 跑在哪 | 频率 |
|---|---|---|
| 微基准门禁 | CI(GitHub Actions 等) | 每次主干合并 |
| 全链路门禁 | 专用环境 | 发布候选 / 每日夜间 |
| 错误预算与告警 | Prometheus + Alertmanager | 持续 |
| 金丝雀监控 | 发布流水线 | 每次发布 |
| 容量计算与复测 | 专用环境 | 每季度 |
| 评审清单与周报 | 团队流程 | 每 PR / 每周 |
三、落地顺序(重要)
不要一次全上——按这个顺序,每步稳定后再做下一步:
第 1 周:CI 微基准门禁(先 --report-only,观察零误报)
↓
第 2–3 周:生产 SLO + 饱和度告警(领先指标优先)
↓
第 4 周:把微基准门禁从 --report-only 改成启用失败
↓
第 2 个月:定期回归(容量复测)+ 金丝雀判定
↓
第 3 个月:全链路门禁(如果有专用环境)
关键:每一步都要先验证「零误报」再启用——否则机制会被讨厌,然后被绕过。
四、三个共通的纪律
- 相对比较:与基线对比,不用绝对阈值(换环境不会全线失败)。
- 阈值高于噪声:噪声 × 1.5~2;宁可漏报不可误报。
- 每条告警都要有 runbook:否则只是制造焦虑。
五、与前面章节的关系
| 本章用到的 | 来自 |
|---|---|
| 噪声底线 | 第 5 章 5.7 |
| 直方图与百分位 | 第 1 章 1.2 |
| SLO 与延迟预算 | 第 1 章 1.4、1.5 |
| 饱和度指标 | 第 1 章 1.1、第 6 章 6.5 |
| 容量曲线与拐点 | 第 1 章 1.6、第 3 章 3.4 |
| 三问纪律(优化验证) | 第 7 章 7.8 |
| 浸泡测试(泄漏检测) | 第 3 章 3.5 |
本章不引入新方法——它把前面所有方法变成自动运行的机制。