三:CAP与Base理论

CAP:

  C:一致性:在分布式系统中是指多个副本之间能否保持一致性;

  A:可用性:系统提供的服务必须一直处于可用的状态,对于用户的每一个请求总是在有限的时间内返回结果;

  P:分区容错性:该特性约束了分布式系统需要具备以下特性:分布式系统遇到网络分区故障的时候,仍然需要能保证对外提供满足一致性和可用性的服务,除非整个网络环境都发生故障。

 

CAP定理示意图

 

144323_Iqww_1034481.png

由此可见要想三方面都与考虑到,那是不可能,我们只能妥协,

放弃CAP    说明
放弃A

如果希望能够避免分区容错性,那么最简单的方法就是将所有的数据放到分布式的一个节点上,但是有一点就是放弃P就意味着放弃了系统扩展的可能性。

放弃C

相对于放弃“分区容错性”来说,放弃可用性正好相反,其做法就是一旦系统遇到网络分区或其他故障的时候,那么影响的服务就需要等待一段时间,因为等待期间系统无法对外提供服务,即不可用。

放弃P

这里说的放弃一致性,并不是完全不需要数据一致性,如果是那样的话,系数据就没有什么意义,系统也就没有什么意义。

    事实上,此处所说的放弃一致性是指放弃强一致性,保存了数据最终一致性,这样的系统无法保证数据实时一直,但是承诺的是,数据最终会达到一个一致的状态。具体多久能达到一致性,取决于系统的设计,主要就是不同副本之间数据的复制时间长短

 

由此可以看出,我们不可能丢弃A和C,只能在P上面做文章,

Base定理:

     Basically Available:基本可用,分布式系统出现不可预知的错误的时候,允许损失部分可用性,但是绝对不等于系统不可用;

     Soft State:软状态:和强状态对应,是指允许系统中的数据存在中间状态,并且认为该中间状态不会影响系统的可用性,即允许系统不同节点之间的数据副本复制存在延时;

     Eventually consistent:最终一致性  ,最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步过后,最终能达到一个一致性的状态。因此最终一致性的本质就是需要系统保证数据最终能达到一致,但是不需要实时保持数据一致的情况。

 

综上我们会发现基本都是在分区一致性上做文章,待续...

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/1034481/blog/824355

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值