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

人性化的混沌

Chaos Engineering: System Resiliency in Practice · Ch 10 · Humanistic Chaos · 2020

EN →

这一章讲什么?

你半夜刷不开某个 App,第二天它恢复了。修好它的,除了服务器,还有一群被电话叫醒的人:谁先被叫醒、谁拍板、消息怎么传,决定了你等了五分钟还是五个小时。

前几章的混沌工程,是故意弄坏机器,看系统扛不扛得住。这一章说:团队本身也是一个系统,同样可以——也应该——被小心地「摇一摇」。

打个比方:消防演习

学校每学期搞消防演习。真正有用的演习不只是「拉警铃、大家往外走」,而是故意加点变数:「今天楼梯 A 封了」「平时带队的班主任请假了」。

一加变数,问题就冒出来:没人知道备用楼梯在哪;代课老师不知道集合点。这些问题在演习里暴露,比在真火灾里暴露便宜得多。

旧世界为什么难

很多公司把机器备了两份、三份,却没发现人只有一份:某个系统只有老王懂,老王一休假,出事就没人会修。

另一个老毛病是改组织「一刀切」:明天起换一套值班办法,全公司同时生效,不试点、也没想过改坏了怎么退回去。换成机器,没人敢这样上线新版本。

核心机制直觉:把演习的思路搬到人身上

带来了什么 / 该怎么选

好处是那些「只存在于某个人脑子里」的知识被逼出来写成文档、教给别人;团队出事时不再靠一两个英雄硬扛,而是谁在场谁都能接上。

一句诚实的代价:对象是人,搞砸了伤的是信任——不打招呼地「突袭」别人,或者拿演习结果去评谁表现差,会让大家从此不敢说真话。

一句话记住

团队也是系统:人可能是单点,沟通会有延迟,规矩会出 bug——用演习的办法,小范围、可喊停地去试它,在真事故之前把这些弱点找出来。

想看三个真实案例、怎么定假设、怎么控制范围? → 切到精读版