CAP和BASE理论理解


分布式系统都是基于CAP/BASE理论进行设计的。CAP/BASE在分布式系统设计过程中提供了最基本的也是最重要的原则。 
正确的理解CAP/BASE能够更好的指导分布式系统的设计,当然了只有经历了大量的分布式系统实战,才能更加深刻的理解CAP/BASE理论。

CAP

  1. CAP是一致性(Consistency),可用性(Availability),分区容错性(Partition tolerance)的缩写。在分布式系统设计中,任何一个系统都不可能同时满足这三个特性,只能满足其中2个特性。既然是分布式系统,所以分区容错性是必须要有的,所以在实际设计过程中,更多的是在一致性和可用性之间寻找平衡。
  2. CAP三个特性的具体含义如下: 
    2.1. 一致性:这里说的一致性是指强一致性。分布式系统中,数据都是以多副本的形式存储在不同的节点中,要任何时刻数据副本之间的状态保持一致性。即一个进程对一个节点中的数据进行了更新后,同时其他节点中的数据副本实时也进行了更新。另一个进程读取其他节点的数据是最新版本。 
    2.2. 可用性:是指在任何时刻系统提供的服务都是可用的。用户或者客户端发送一个请求,服务总是在规定的时间内返回请求结果。在规定的时间内,没有返回请求结果,则认为服务不可用。 
    2.3. 分区容错性:系统在任何时刻发生网络故障,系统宕机,整个系统仍然能够对外提供可用性服务和一致性服务。这也说明了,在分布式系统设计过程中,更多的是考虑可用性和一致性平衡。

BASE理论

  1. BASE理论是ebay架构师提出的。主要是指基本可用(Basically Available),软状态(soft state)和最终一致性(Eventually consistent)三个词的缩写。核心思想是即使无法做到强一致性,但是每个应用都可以根据自身业务特点,采用合适的方式达到最终一致性。
  2. Base理论是依据大型的分布式系统架构设计设计经验得来,是一致性和可用性平衡结果。同时,也可以反映出在分布式系统设计中,主要考虑到PA两个特性,最终实现数据一致性。
  3. BASE理论三个要素: 
    3.1. 基本可用:基本可用是指允许发生不可预知的故障,但是服务对外照常可用。只是损失部分可用性。 
    3.2. 弱状态 :数据副本在整个服务运行期间,允许在某一个时刻(比如,数据复制)允许存在中间状态,但是最终数据的状态保持一致。在处于弱状态时,整个服务可用。 
    3.3 最终一致性:在经过一定的时间后,所有数据副本的状态都已经保持一致。一致性的本质就是要保证数据最终一致性。

小结

Base/CAP理论,在分布式系统建设中提供了一个大的原则和方向。具体的设计过程中,还需要根据不同的系统的业务特点,灵活去设计,考虑的侧重点不同


转自: https://blog.youkuaiyun.com/junchenbb0430/article/details/77532232

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值