初探CAP定理及其不可兼得性

一、对CAP定理的理解

CAP定理是分布式系统设计的核心理论。由Eric Brewer在2000年提出,后由Gilbert和Lynch在2002年严格证明。分别是指Consistency一致性,Aavailability可用性,Partition Tolerance分区容忍性。

  • Consistency一致性,是指数据在多个副本间是保持一致的。或者说节点在同一时间看到相同的数据,即强一致性。
  • Availability可用性,指每个请求都能得到非错的响应。非错是指不保证获得的数据是最新的。
  • Partition Tolerance是指当分布式系统出现网络分区时,仍然能提供对外服务。

二、为什么说CAP不可兼得?

Cap理论表示一个分布式系统不可能同时满足不能CAP三个条件。分布式系统一定要满足Partition Tolerance分区容忍性。如果不满足p,也就是不存在分区,那么就意味着要将所有的服务都放在一个服务器上,这时这个系统也不能称为分布式系统了。

C和A权衡和选择最主要看要达到什么样程度的一致性。

如果要达到强一致性,那么就必须满足C;如果要达到一般一致性,更多考虑可用性,那么就更多要考虑A。

而C和A是不可能同时共存的。如果要保证C强一致性,因为主节点与副本之间存在数据同步的过程,必然导致系统的阻塞,这时候的系统处于不可用的状态即不满足A。

如果要保证A可用性,则不允许系统存在阻塞的情况,此时会出现访问到旧数据的情况,即会导致短暂的不一致。

综合考虑下来。总共只有两种模型存在,即CP和AP。

相关推荐
DeepVis Research2 天前
【Storage/Signal】2026年度非线性存储一致性与跨时域信号处理基准索引 (Benchmark Index)
算法·网络安全·数据集·分布式系统
Code Slacker2 天前
西安交通大学软件学院——分布式系统练习题(选择题)
中间件·期末复习·分布式系统·练习题
qq_317620313 天前
第24章-高级项目练习案例(10个)
机器学习·微服务·高并发·分布式系统·python项目案例
DeepVis Research3 天前
【BCI/Consensus】2026年度脑机接口协同与分布式共识机制基准索引 (Benchmark Index)
人工智能·网络安全·数据集·脑机接口·分布式系统
2503_946971863 天前
【P2P/Blockchain】2026年度去中心化P2P协议与不可变智能合约审计基准索引 (Benchmark Index)
网络安全·区块链·数据集·架构设计·分布式系统
云雾J视界3 天前
告别重复编码:Boost.Optional、Variant和Assign如何提升C++工程可维护性?
c++·自动驾驶·分布式系统·variant·工具链·boost.optional·assign
蜂蜜黄油呀土豆4 天前
深入理解 Redis 集群架构:主从同步、哨兵机制与 Cluster 原理
redis·集群·cap·主从复制·哨兵机制·redis cluster
BLSxiaopanlaile9 天前
《凤凰架构-构建可靠的大型分布式系统》读书笔记 -关于网络请求过程中的一些缓存和分流技术
http·一致性·编程理解