一致性模型

一致性是分布式系统中最核心也最容易被误解的概念之一。很多人以为「一致性」只有一种——要么一致,要么不一致。但实际上,一致性是一个从强到弱的光谱,不同的一致性级别对应着不同的实现代价和应用场景。

强一致性(Linearizability)保证了写操作完成后,所有后续的读操作都能读到最新写入的值,就像操作发生在单一节点上一样严格。但实现强一致性的代价是高昂的——需要 Paxos 或 Raft 这样的共识协议,需要跨节点协调,需要付出延迟和可用性的代价。

而最终一致性(Eventual Consistency)则允许系统暂时处于不一致的状态,只要最终收敛到一致即可。DynamoDB、Cassandra 这些追求高可用的系统,选择了最终一致性作为自己的默认行为。

本模块将带你完整理解这个一致性光谱:从最严格的线性一致性,到顺序一致性、因果一致性,最终到最终一致性,以及它们之间的权衡与适用场景。