CAP简述

CAP

基本概念

C 数据一致性

弱一致性(不保证总能得到最新的值)

最终一致性( 放宽对时间的要求,在被调完成操作响应后的某个时间点,被调多个节点的数据最终达成一致 )

强一致性(每个节点的数据都是最新版本)

A 可用性 数据具备高可用性

P 分区容错性 容忍网络出现分区 分区之间网络不可达

C和A都很容易 P到底是什么意思呢?

分区

分布式的系统,节点之间的通信是通过网络来进行的。如果出现了一些故障,节点之间不连通了,整个网络就被划分成了几块区域。

这样数据就被分成了几块不连通的区域。这就叫做分区。

例子

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q9QNL8yT-1602071097600)(C:\Users\yan\AppData\Roaming\Typora\typora-user-images\1601988770796.png)]

此时我们节点一和节点三是不可通信的,这就有了抉择:

  • 如果允许当前用户注册一个账户,此时注册的记录数据只会在节点一和节点二或者节点二和节点三同步,因为节点一和节点三的记录不能同步的。

    • 这种情况其实就是选择了可用性(availability),抛弃了数据一致性(consistency)
  • 如果不允许当前用户注册一个账户(就是要等到节点一和节点三恢复通信)。节点一和节点三一旦恢复通信,我们就可以保证节点拥有的数据是最新版本

    • 这种情况其实就是抛弃了可用性(availability),选择了数据一致性(consistency)

CAP理论定义的其实是在容忍网络分区的条件下,“强一致性”和“极致可用性”无法同时达到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值