知识卡片

CAP理论只适用于"互联且共享数据"的分布式系统

普通读书笔记卡 · 1672

内容

CAP理论只针对节点间互连并共享数据、涉及读写的分布式系统,而非所有分布式系统。多台互不通信、各自独立存数据的Memcache集群没有连接和数据复制,不是CAP对象;有数据复制的MySQL集群才是。CAP关注数据读写,ZooKeeper选举这类不涉及读写复制的功能也不在CAP范围。发散:套用理论前先确认是否落在其边界内——CAP常被泛化成任何分布式系统都要三选二,但它只回答数据复制场景的取舍。

参考来源

- 位置:《从0开始学架构》第26章《22|想成为架构师,你必须知道CAP理论》(源文件:_epub-src/OEBPS/Text/part0025_split_001.html) - 结论依据:原文明确"最简单的例如Memcache的集群,相互之间就没有连接和共享数据,因此Memcache集群这类分布式系统就不符合CAP理论探讨的对象;而MySQL集群就是互联和进行数据复制的,因此是CAP理论探讨的对象",并说明"CAP关注的是对数据的读写操作,而不是分布式系统的所有功能。例如,ZooKeeper的选举机制就不是CAP探讨的对象"。 - 原始内容:最简单的例如Memcache的集群,相互之间就没有连接和共享数据,因此Memcache集群这类分布式系统就不符合CAP理论探讨的对象;而MySQL集群就是互联和进行数据复制的,因此是CAP理论探讨的对象……ZooKeeper的选举机制就不是CAP探讨的对象。