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

原则总览

Chaos Engineering: System Resiliency in Practice · Ch 3 · Casey Rosenthal & Nora Jones · 2020

EN →

这一章讲什么?

前两章把坏消息说完了:现在的线上系统太复杂,没有谁装得下它;而且它每天都被几股正当的力气往危险处推一点,偏偏「安全」这条线不会提前喊疼。这一章开始给办法——而且给的是一套规矩,不是一堆工具。

打个比方:消防检查和消防演练

这两件事听着差不多,其实差很远。

消防检查是拿着清单一条条对:灭火器在不在、安全出口堵不堵。它能查出来的,只有你清单上已经写了的那些。

消防演练是某天早上真的拉响警报,看一千个人到底怎么跑、几分钟能跑完、哪个楼梯口会堵死。它会告诉你清单上没有的事。

这一章说的就是:别再只做检查,要做演练;而且演练得有规矩,不然就是扰民。

旧世界为什么难

过去我们对系统的信心几乎全来自「检查」:写测试、过评审、盯监控面板。这些都有用,但有个共同前提——你得先知道该检查什么。而复杂系统最要命的地方正是:真正出事的那个组合,你压根没想到过,所以它不在任何清单上。于是你会得到一种很危险的感觉:检查全通过了,应该没问题。

核心机制直觉:五条规矩

带来了什么

最大的变化是一句话的立场:「我们从来没出过这种事」不算证据,「我们上周故意弄了一次、用户没感觉」才算。信心从「我觉得」变成了「我试过」。诚实说一句代价:这种试法在真系统上做,就一定有一小部分真实用户会被波及,这个代价归不了零,只能压小。

一句话记住

检查只能确认你已经知道的事,演练才会告诉你没想到的事;这一章的五条规矩,就是把「我以为它扛得住」变成一次能被当场推翻的小实验。

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