专业书籍精读 · Chaos Engineering · 第 12 章

实验选择问题(及一个解法)

Chaos Engineering: System Resiliency in Practice · Ch 12 · The Experiment Selection Problem (and a Solution) · 2020

EN →

这一章讲什么?

你刷视频时,背后有上百个小程序在接力干活:一个查你是谁,一个挑推荐,一个找视频文件……混沌工程就是故意弄坏其中一些,看整体还撑不撑得住。

可问题来了:弄坏哪几个?坏一个的选法有一百种,同时坏两个就有将近五千种,坏三个是十几万种。一次只能试一种,挑错了就白试。这一章专门回答「该先试哪个」。

先说个怪事

想知道一座桥哪里最脆弱,直觉是盯着它出事的样子看。这一章反过来说:先认真看它平时是怎么好好站着的。

弄清楚「这次播放能成功,是靠了哪几根柱子」,你就知道:只踢那些没在扛重的柱子,什么也学不到;要踢,就踢正在扛重、而且没人替补的那几根。

旧世界为什么难

核心机制直觉:顺着「功劳簿」找要害

每次请求成功,都让系统记一本「功劳簿」:这次是谁帮了忙、谁又是谁的备胎。

像侦探排查不在场证明:先搞清楚每个人「是怎么做到的」,再去针对性地拆。

带来了什么 / 该怎么选

好处是试的次数从「天文数字」降到「一张短清单」,而且每次试都有理由,还能顺便把老师傅脑子里的直觉变成机器能算的东西。

一句诚实的代价:前提是系统得能把「谁帮了忙」记清楚,记不全的地方,这套方法也会看漏。

一句话记住

别乱踢,也别只靠老师傅:先看系统怎么成功的,再专挑能让它失败的最小组合去试——每试一次,要么抓到漏洞,要么发现一个新备胎。

想看组合爆炸怎么算、血缘图和求解循环长什么样、在 Netflix 怎么落地? → 切到精读版