分布式---CAP和BASE理论

本文深入探讨了分布式系统中CAP理论的基本概念,包括一致性、可用性和分区容忍性之间的权衡,以及BASE理论作为CAP理论在实际应用中的补充,强调基本可用、软状态和最终一致性。文章对比了ACID和BASE在不同场景下的应用。

3.CAP

  分布式系统不可能同时满足一致性(C:Consistence),可用性(A:Avaliability)和分区容忍性(P:Partition Tolerance),最多只能同时满足其中的两项。

1652742-20190705173049711-917893602.png

一致性

  一致性是指多个数据副本是否能保持一致的特性,在一致性的条件下,系统在执行数据更新操作之后能够从一致性状态转移到另一个一致性状态。

  对系统的一个数据更新成功之后,如果所有的用户都能够读取到最新的值,该系统就被认为具有较强的一致性。

可用性

  可用性指分布式系统在面对各种异常时可以正常提供服务的能力,可以用系统可用时间占总时间的比值来衡量,4个9的可用性表示系统99.99%的时间是可用的。

  在可用性条件下,要求系统提供的服务一直处于可用的状态,对于用户的每一个操作请求总能够在有限的时间内返回结果

分区容忍性

  网络分区指分布式系统中的节点被划分为多个区域,每个区域内部可以通信,但是区域之间无法通信。

  在分区容忍性条件下,分布式系统在遇到任何网络分区故障的时候,仍然需要能对外提供一致性和可用性的服务,除非是整个网络环境都发生了故障。

权衡

  在分布式系统中,分区容忍性必不可少,因为需要总是假设网络是不可靠的,因此,CAP理论实际上是要在可用性和一致性之间做权衡

  可用性和一致性往往是冲突的,很难使它们同时满足。在对个节点之间进行数据同步时,

  • 为了保持一致性(CP),不能访问未同步完成的节点,这也就失去了部分可用性
  • 为了保证可用性(AP),允许读取所有节点的数据,但是数据可能出现不一致

4.BASE

  BASE是基本可用(Basically Available),软状态(Soft State),和最终一致性(eventually Consistent)三个短语的缩写。

  BASE理论是对CAP中一致性和可用性权衡的结果,它的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式来让系统达到最终一致

基本可用

  指分布式系统在出现故障的时候,保证核心可用,允许损失部分可用性

软状态

  指允许系统中的数据存在中间状态,并认为该中间状态不会影响系统整体可用性,即允许系统不同节点中的数据副本之间同步的过程存在延迟

最终一致性

  最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能达到一致的状态

  ACID要求强一致性,通常运用在传统的数据库上,而BASE要求最终一致性,通过牺牲强一致性来达到可用性,适合运行在大型分布式系统中。

  在实际的分布式场景中,不同业务单元和组件对一致性的要求不同,因此ACID和BASE往往会结合在一起使用。

转载于:https://www.cnblogs.com/yjxyy/p/11139683.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值