知识卡片

分布式系统必须选P,只能在CP和AP之间取舍

普通读书笔记卡 · 1672.a

内容

网络不可能100%可靠,分区是分布式系统必然遇到的现象,所以分区容忍性(P)不是可放弃的选项——放弃P等于假设网络永不出问题。因此CAP三选二在工程上退化为CP与AP二选一:分区时要么拒绝响应过时数据保一致性(CP),要么返回过时数据保可用性(AP),不存在CA架构。发散:这把抽象的”三选二”定理收敛成具体工程决策——遇到分区该拒绝服务还是返回旧数据,这才是CAP真正指导实践的地方。

参考来源

- 位置:《从0开始学架构》第26章《22|想成为架构师,你必须知道CAP理论》(源文件:_epub-src/OEBPS/Text/part0025_split_003.html) - 结论依据:原文明确"必须选择P(分区容忍)要素,因为网络本身无法做到100%可靠……如果我们选择了CA而放弃了P,那么当发生分区现象时,为了保证C,系统需要禁止写入……这又和A冲突了……因此,分布式系统理论上不可能选择CA架构,只能选择CP或者AP架构"。 - 原始内容:必须选择P(分区容忍)要素,因为网络本身无法做到100%可靠,有可能出故障,所以分区是一个必然的现象。如果我们选择了CA而放弃了P,那么当发生分区现象时……这又和A冲突了……因此,分布式系统理论上不可能选择CA架构,只能选择CP或者AP架构。