网络分区
为了满足分区容错,我们的系统必须在任何网络分区下都能正常工作 。
CAP定理的证明
现在我们已经理解了一致性、可用性和分区容错的概念,我们可以证明一个系统不能同时满足这三个属性 。
假设有一个系统同时满足这三个属性,我们首先要做的就是把这个系统划分成网络,如下图所示:

网络分区
客户端向G1发送写请求,将V的值更新为v1 。由于系统可用,G1必须响应客户端的请求,但是由于网络被分区,G1无法将其数据复制到G2 。

由于网络分区造成的不一致
然后,客户端向G2发送读取V的请求,再次因为系统可用,G2必须响应客户端的请求,又因为网络被分区,G2无法从G1更新V的值,所以G2向客户端返回旧值v0 。

由于网络分区造成的不一致
客户端发起写请求将G1上的V值改为v1后,从G2读取的值仍然是v0,违背了一致性 。
总结我们假设存在一个满足一致性、可用性和分区容错的分布式系统,但是我们证明在某些情况下,系统表现出不一致的行为,所以证明不存在这样的系统 。
【一篇文章搞清楚什么是分布式系统 分布式cap工作原理】对于分布式系统,P是基本要求 。三个cap中,C和A只能根据系统要求来权衡,要尽一切努力提高p 。
,
推荐阅读
- 海鲜辣椒酱味道好吗
- 月圆之夜怎么得卡
- 详细介绍一下西财天府学院
- 如何设置产品关键词
- word表格中的斜线怎么弄
- 怎么对泥鳅敌害防治
- 高丝宝面料和绉料一样吗
- 想做大学美术老师需要些什么
- 童话里玫瑰花精吃什么呢
- 如何设置超频
