读《设计数据密集型应用》的一点笔记

2026-05-21

断断续续读了很久,书很厚,但每章都能对上一些实际遇到过的问题。 这里只记几个对我触动比较大的点。

可靠性、可扩展性、可维护性

作者把这三个词拆得很清楚。以前我习惯把它们混在一起说"系统好不好", 但其实是三件独立的事:一个系统可以很可靠但完全不可扩展, 也可以扩展得很好但维护起来像噩梦。

关于"分布式"的代价

书里反复强调的一点是:分布式系统带来的复杂度,往往比它解决的问题更多。 能放在一台机器上解决的事,就别拆成两台。这话在我自己折腾小服务的时候 体会尤其深。

一致性与共识

这部分读得最费劲,但收获也最大。之前对"最终一致"的理解很模糊, 读完才明白关键在于**定义清楚"最终"是什么**——是在什么前提下、 在什么时间范围内、用什么方式收敛。说不清楚,就等于没保证。

流处理与批处理

把这两者放进同一个框架里看,是我之前没想到的视角。批处理可以看作 有界的流,流处理看作无界的批——这个类比让很多设计决策突然变得自然了。

总的来说,这本书不太像教程,更像是把散落的知识串成一条线。 打算过段时间再读一遍,应该还会有新的收获。

← 回首页