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

Slack 的灾难剧场

Chaos Engineering: System Resiliency in Practice · Ch 4 · Richard Crowley(Slack)· 2020

EN →

这一章讲什么?

上一章把规矩立好了:别只做检查,要真去制造故障。最自然的下一个问题是——那我装个什么工具?

这一章的回答出人意料:第一步不是找工具,是写一份剧本、约一场排练、把人叫到一个房间里。讲这事的是 Slack 的工程师,他要摇的不是崭新的云原生系统,而是公司里那些年头久、当初压根没按「会坏」设计的关键部件。

打个比方:有危险动作的舞台剧

假设一台剧要演一个吊威亚的动作。没有哪个剧组会在首演那天、满座的观众面前,第一次把人吊上去试试看。

正常做法是:先有剧本——谁在第几分钟做什么、出什么岔子算岔子;然后在空场里走一遍,把绳长、灯光、站位这些丢人的小错先摔完;正式那场,安全绳挂着、有人守在开关旁、全组对好一句「喊停」的词。

这一章讲的就是这套排练法,作者管它叫「灾难剧场」。

旧世界为什么难

上一章提过那只「随机关机的猴子」:随手关掉几台机器,系统该自动绕开。这招好用,但有个藏起来的前提——这些机器本来就是按「随时会死」造的,死了自动有人接班。

可一家公司跑久了,最要紧的那几样往往不长这样。它们更像老房子:拆一堵墙整栋会歪,扶正还得有人爬上去。对老房子扔猴子,不叫演练,叫塌房。于是很多团队卡住:不敢碰,这部分永远是个没验过的黑箱;硬碰,第一次就真出一次事故,这件事在公司里的名声当场毁掉。

核心机制直觉:四件事

带来了什么

最实在的收获是:你终于敢碰那些最要紧、最老的部件,而且第一次碰不会把演练变成事故。还有一个反直觉的发现——最常撞到的不是「它没扛住」,而是「它扛住了,但没有一个人知道」:东西好好的,警报一声没出。诚实说一句代价:这种演法非常费人,一个季度排几场,不可能天天跑。

一句话记住

对当初没按「会坏」设计的老系统,做混沌工程的第一步不是装工具,而是写剧本、先空场排一遍、正式那场把人和「喊停」的开关都备齐——把一次潜在的事故,降格成一场有安全绳的排练。

想进到具体机制、量级和示意图? → 切到精读版