CAP 原理

用户头像
幸福小子
关注
发布于: 2020 年 11 月 29 日

CAP原理

数据一致性(consistency)

每次读取的数据都是最近一次写成功的数据,或者返回一个错误,而不应该是过期的数据。

数据可用性(Availibility)

任何时候都要保证可以正常访问、读写,不需要保证响应的数据是最新的。

分区耐受性(Partition Tolerance)

即使因为网络问题(网络不可用),部分服务器节点之间出现消息丢失或者延迟,系统仍然可以操作,即系统可以跨网络分区线性伸缩。



当网络不可用时,我们要么取消操作,这样数据就是一致的,但是系统却不可用;要么我们继续写入数据,但是数据的一致性就得不到保证。

对于一个分布式系统而言,网络不可用一定会发生,分区耐受性是必须要保证的,那么在可用性和一致性上就必须二选一。

当网络不可用时,如果选择了一致性,系统就可能返回一个错误码或者干脆超时,即系统不可用。如果选择了可用性,那么系统总是可以返回一个数据,但是并不能保证这个数据是最新的。

所以,关于 CAP 原理,在分布式系统必须要满足分区耐受性的前提下,可用性和一致性无法同时满足。



用户头像

幸福小子

关注

还未添加个人签名 2018.11.08 加入

还未添加个人简介

评论

发布
暂无评论
CAP原理