系统不是设计出来的,是被流量打出来的。这本书是系统设计的飞行模拟器——生产环境不给你的练习机会,这里管够。
你读过那些经典。你知道 CAP,能背出一致性哈希的原理,甚至能画出一张像模像样的秒杀架构图。然后线上出事了,凌晨两点,你盯着监控大盘,不知道第一个动作该做什么。
这不是你的错,也不是书的错。问题出在系统设计这门手艺的性质上:它的知识是陈述性的,它的能力是经历性的。
你可以在一小时内读完"缓存雪崩"的定义、成因和三种处方。但你无法通过阅读获得这些东西:
这些是经历。而绝大多数工程师的问题在于:真实工作根本不提供这些经历。你的系统可能三年不出一次 P0;就算出了,处置的也多半是更资深的人;等你终于成为那个人,你的第一次实战就是一次真实的事故。
所以这本书的组织方式和教科书相反。它不按知识点排列,按挨打的顺序排列:一个虚构的抢票平台「秒抢」,从 0 到亿级用户,每一章是它遭遇的一次真实形态的危机。你不是旁观者——全书用第二人称,你就是那个 on-call 的工程师。
每一章都由前四类东西驱动,第五类只在少数几处出现。它们不是排版花样,各自解决一个具体的学习问题。
| 机制 | 长什么样 | 它解决什么问题 | 怎么用 |
|---|---|---|---|
| ① 值班现场 与决策点 |
一段告警终端 + 几张指标卡,然后是一个四选一的决策点,点击揭晓判词 | 你缺的不是知识,是在信息不全、时间紧迫时做判断的经历 | 先自己选,再看判词。四个选项都是真实工程师会做的动作,判词会告诉你为什么那三个是错的——尤其是最诱人的那个 |
| ② 病历卡 | 五行固定结构:机理 / 症状 / 易发场景 / 处方 / 案例。症状行带一个曲线形状符号 | 故障的名字很多,但形状只有几种。诊断能力比记忆处方重要得多 | 重点看症状行的形状符号。全书 17 张卡按形状分组收进附录 A 图鉴,值班时可当急诊索引 |
| ③ 模拟器 | 浏览器里跑的实时模型,带滑块、开关和监控图。配一份🧪 实验清单 | 「重启救不活雪崩」这种事,讲一百遍不如你自己把它玩坏一次 | 一定要按实验清单的顺序做。每个实验对应一个明确的教学结论,顺序本身是设计过的 |
| ④ 权衡题 | 决策点 D2。和自测题的区别是:所有选项都是对的 | 真实架构决策没有标准答案,只有账单。工程师的成熟度体现在能说清代价 | 选之前先问自己"我愿意付哪一份账单",再看每个选项的代价分析和「秒抢」的选择及理由 |
还有第五个机制,它只在三处出现,但它是全书唯一要求你从空白页产出的东西:
| 机制 | 长什么样 | 它解决什么问题 | 怎么用 |
|---|---|---|---|
| ⑤ 交卷练习 | 一个空文本框 + 「展开基准答案」按钮。什么都不保存,刷新就没了 | 前四个机制都在给你选项;真实工作和面试里没人给你选项。这是唯一检验你能否独立组织问题的地方 | 先写,再看。写不出来也要写下卡在哪一步——那本身就是诊断。基准答案带自评清单,因为这些题没有唯一解 |
它出现在第 1 章(闭卷做一次容量估算)、第 16 章的毕业飞行(换一个全新业务,两阶段,你的第一个选择会改变第二阶段的现场),以及附录 B 的三道计时 mock——三处、共 9 个练习块。顺读的完整主线是:读完 16 章 → 毕业飞行 → 读后 4 周 → 附录 B 计时 mock。
此外每章结尾有 4 道自测题(必含一道看形状诊断、一道数字计算)和 3 个面试映射追问。全书的面试题汇总在附录 B。
还有第三条路径,它从这本书结束的地方开始:第 16 章末尾的「接下来 4 周」给了一条把「我看懂了秒抢」变成「我能处理另一个系统」的迁移路线——体检自己的服务 → 写三份 runbook → 做一次预发游戏日 → 用附录 B 做三次计时面试,每周有交付物和完成标准。读完全书却不做这四周,最容易停在「感觉懂了」。
这条主线在书里的完整走法是:顺读 16 章 → 第 16 章毕业飞行 → 接下来 4 周 → 附录 B 计时 mock。
如果你只有一个下午:读第 5 章(缓存三兄弟,把模拟器三个实验做完)和第 12 章(秒杀专章,前半书的集大成)。这两章能让你判断这本书值不值得读完。
本书有两类内容,边界很清楚:
「秒抢」的一切都是虚构的——公司、同事、故障、对话、数字。它是一个教学载体,可以随剧情需要设计,唯一的要求是技术上必须站得住。
四个实战关卡和少数病历卡案例引用真实公司的真实事故。这部分遵守一套更严的规矩:
如果你发现书中任何一处真实事故的描述与官方复盘不符,那是错误,不是演绎。
准备好了就开始。
第一章没有故障,只有一个 deadline——但它会画出那张被打了十五次的图。