CAP定理

1、CAP定理
分布式系统(各系统互相联系且数据共享)中,只能最多满足一致性(Consistency),可用性(Availability)和分区容错性(Partition tolerance)中的两种。
 
一致性:是指客户端的读操作可以拿到最新的写操作的数据
可用性:是指请求在合理的时间内可以返回合理的结果,而不是系统异常,报错,超时等
分区容错性:是指系统出现网络分区后,还可以履行职责。
 
 
2、CAP应用
 
首先P分区容错性是必须的,为什么呢?
因为网络本身就不可靠,不可能100%可靠。一个CA系统,当出现分区问题时,有服务器不能使用,此时有写操作,但是不能进行服务器之间的同步,所以系统需要禁止写入,此时会返回系统故障,这就违反了A 可用性,没有返回合理的结果,所以在分布式系统中不能选择CA系统。
 
接下来CP和AP系统(N1,N2两台服务器)
 
1、cp
为了保证一致性,当出现分区现象后,N1的数据已经更新到y,但是由于N1和N2的复制通道关闭了。数据y无法更新到N2,N2节点的数据还是x。这时候客户端访问N2时,N2需要返回error(保持一致性,此时数据不一致,故返回error),不满足可用性。因此CAP三者只能满足CP
 
2、ap
当出现分区现象后,N1的数据已经更新到y,但是由于N1和N2的复制通道关闭了。数据y无法更新到N2,N2节点的数据还是x。这时候客户端访问N2时,N2返回的是x,与N1的数据不一致,故无法达到一致性。此时为何n2不返回error呢,因为可用性是指返回合理的结果,x属于合理的结果。
 
故综上所述,在分布式系统中只能选择AP和CP系统

转载于:https://www.cnblogs.com/volare/p/9878783.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值