一粟 · yisu.app
· 11 min read
阅读高可用

关于「高可用」,我读过的最好和最坏的书

高可用是个被讲烂的词。本文不复述技术,而是谈谈这些年读过的相关书籍——哪些让我受益,哪些让我浪费了时间。

"高可用"这个词被讲得太多,以至于失真。我读过十几本相关的书,有的让我脱胎换骨,有的让我读完更迷茫。本文不复述技术,只谈书——哪些值得读,哪些可以跳过,为什么。

让我脱胎换骨的三本

《Site Reliability Engineering》(Google SRE)

这本书我读过三遍。第一遍当技术书读,学到了 SLO、error budget、toil 等概念。第二遍当管理书读,理解了"运维是工程问题,不是操作问题"。第三遍当哲学书读,看到了"用软件工程方法解决运维问题"的范式。

最值得读的章节:第 2 章 SLO、第 3 章 error budget、第 6 章 监控、第 11 章 on-call。这几章改变了我对"运维"的全部认知。

《Designing Data-Intensive Applications》(DDIA)

这可能是后端工程师最该读的一本书。它不讲"怎么做",讲"为什么"。从单机到分布式、从一致性到容错,把后端的核心问题串成一条线。

最值得读的章节:第 5 章 复制、第 6 章 分区、第 9 章 一致性。读完后你对"为什么分布式这么难"会有系统认知。

《The Phoenix Project》

这是本小说,但讲的是 DevOps 的核心理念。读完你不会学到具体技术,但会理解"为什么 IT 是业务的瓶颈"。它把抽象的"DevOps 文化"具象化成故事。

最值得读的章节:第三部分。看 Bill 怎么从"救火"转向"系统改造"。

好技术书不是"教你怎么做",是"让你看到自己以前没看到的问题"。

让我浪费时间的三本

《XXX 高并发实战》(隐去书名)

这类书的典型问题:把"高并发"包装成"一堆技术栈罗列"。读完你会知道 Kafka、Redis、ES 都是什么,但不知道"为什么选这个不选那个"。它们是"目录书",不是"思考书"。

《XXX 微服务架构详解》

同上。微服务被讲成"加一堆中间件"。读完你会画更复杂的架构图,但不理解"为什么这个业务需要微服务"。这种书让人"会画不会想"。

《XXX 大厂面试宝典》

面试宝典的最大问题:把工程问题简化成"标准答案"。真实工程里没有标准答案,只有"在那个场景下,权衡了什么"。读这种书会让你"会答题不会做事"。

好技术书的共同特征

回头看让我受益的书,它们有几个共同特征:

  • 讲为什么多于怎么做。技术会过时,思路不会。
  • 讲取舍多于讲结论。"用 A 不用 B" 不如 "A 与 B 在什么场景各有什么代价"。
  • 讲案例多于讲理论。理论让人点头,案例让人记住。
  • 承认不确定性。"这取决于场景"比"应该这样做"更诚实。

怎么读技术书

读技术书不是"读完"。我的方法:

  1. 第一遍快读:1-2 周过完,知道讲了什么。
  2. 第二遍精读:选 3-5 章深读,做笔记。
  3. 第三遍对照:把书里的内容对照自己的工程实践,看哪些能用、哪些不适用、为什么。
  4. 每章问自己一个问题:这章解决了我工作中的什么问题?回答不出就跳过。

选书的几个判断

  • 看作者背景:作者是工程师还是写手?前者讲实战,后者讲概念。
  • 看出版年:技术书 3 年内最佳,5 年看主题,10 年看经典。
  • 看目录结构:按"问题"组织的书比按"工具"组织的书更有价值。
  • 看厚度:500 页以上的技术书要谨慎,大多数是"凑页数"。

几条关于"读书"的反直觉经验

  • 读完不等于学到。读完一本书不留笔记,等于没读。
  • 好书读三遍胜过读三本。深度比广度重要。
  • "不读完"也是能力。读到一半发现不合适就放下,比硬读完更有判断力。
  • 读书 ≠ 学习。读书是"看别人怎么想",学习是"自己怎么用"。

给团队的简短建议

  • 每个工程师每季度读一本好书,胜过每周读三篇公众号。
  • 团队共读 + 每周讨论,比单读效果好 3 倍。
  • 选书先看作者,再看目录,最后看评价。
  • 读到好书要分享,读到烂书要警告——让团队少踩坑。

"高可用"是个被讲烂的词,但真正做好它的工程师不多。差距不在天赋,在"是否认真读过几本好书"。读书这件事看起来慢,但每本好书都是别人 10 年经验的浓缩——你用一周拿到。这是工程师最快的捷径。