知识卡片
CAP不是三选二而是P必然存在只能选AC
内容
常见误解是把CAP看作地位对等、任选两个牺牲第三个。但只要节点间有网络通信,网络分区就是必然事实而非可放弃的选项——真正能选的只有C和A的权衡。CP系统(Zookeeper)为强一致牺牲可用性;AP系统(主从复制、Kafka)为高可用转向最终一致。CA系统罕见,是因为高可用必需冗余,一有多副本网络分区风险就随之而来。发散:P无法交易,只能靠网络基础设施本身压低发生概率。
参考来源
- 位置:第12章《CAP理论》12.1节「CAP理论的误解」(源文件:_epub-src/text/part0064.html)
- 结论依据:原文明确指出CAP理论最大的误解是把三个因素看作对等可三选二,但大规模分布式系统下P是必然事实、只能在C和A之间权衡,CP系统(Zookeeper)牺牲性能追求强一致,AP系统(主从复制、Kafka)牺牲一致性追求高可用,CA系统罕见是因为高可用需要冗余、有冗余就有分区风险,直接支持卡片论述。
- 原始内容:"关于CAP理论,最大的误解是三个因素是对等的,可以三选二……但在大规模分布式系统场景下,P(网络分区)往往是一个必然存在的事实,只能在C和A之间权衡……为什么很少有CA的系统?因为要实现A(高可用),必然就需要冗余,有了冗余就可能存在网络分区(P)。"