CAP 原理笔记

用户头像
梧桐
关注
发布于: 2020 年 11 月 29 日

CAP指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区耐受性),三者不可得兼。



一致性(Consistency):每次数据读取时,永远都是读取最新的,要么就返回错误



可用性(Availability):每次请求都须有响应,可以容忍脏数据



分区耐受性(Partition tolerance):部分机器宕机或者网络异常的情况下,系统仍可以使用



为什么CAP只能同时满足两个?

CAP原则的精髓就是要么AP,要么CP。

例如,在三台服务器的集群中存储value值为0,当修改value=1时,为了保证数据的一致性,要写到3个服务器中,当服务器A发生故障无法更新value的值,则导致了此时三台服务器的value是不一致的。

这时候要保证分区容错性,即当某服务器发生故障时,仍然能保持良好的一致性和可用性服务,则Consistency和Availability不能同时满足。为什么呢?



如果满足了一致性,则服务器a中的更新操作value=1不能成功,这时服务器中所有value=0。

如果满足可用性,即所有客户端都可以提交操作并得到返回的结果,则此时允许写入另两台服务器,服务器A将得到未修改之前的value=0结果。



用户头像

梧桐

关注

还未添加个人签名 2018.07.06 加入

还未添加个人简介

评论

发布
暂无评论
CAP 原理笔记