CAP&Base理论


CAP

1、CAP对应的三个特性

  • 一致性(Consistency):在分布式环境中,一致性是指数据在多个副本之间是否能够保持一致的特性,等同于所有节点访问同一份最新的数据副本。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态。
  • 可用性(Availability):每次请求都能获取到正确的响应,但是不保证获取到的数据是最新的数据。
  • 分区容错性(Partition tolerance):分布式系统在遇到任何网络分区故障的时候,仍然需要能够保证对外提供满足一致性或可用性的服务,除非是整个网络环境都发生了故障。

2、CAP理论

CAP理论是指:一个分布式系统最多只能同时满足一致性(C)、可用性(A)、分区容错性(P)这三项中的两项,其中P是必须的,因此只有两种选择,CP或AP。CP的应用场景主要是zookeeper、AP的则是springcloud中的eureka。

BASE

1、BASE对应的三个特性

  • 基本可用(Basically Availability):在分布式系统出现故障时,允许损失部分可用性。
  • 软状态(Soft-state):允许分布式系统出现中间账号,而且中间状态不影响系统的可用性。这里的中间状态是指不通的数据备份节点(data replication)之间的数据更新可以出现延时的最终一致性。
  • 最终一致性(Eventually Consistent):数据备份节点(data replication)经过一段时间达成一致性。

2、BASE理论

BASE理论是对CAP中一致性和可用性进行权衡的结果,理论的核心思想就是:既然无法做到强一致,那么可以根据每个应用自身的业务特点,采用适当的方式来使系统达成最终一致性。

补充:三种一致性

强一致性(线性一致性-linearizability):

  • 1、任意时刻所有节点的数据都是一样的;
  • 2、一个集群需要对外部提供强一致性,所以只需要集群内部的某一台服务器的数据发生了改变,那么就需要等待集群内部的其他服务器的数据同步完成后,才能正常对外提供服务;
  • 3、保证了强一致性,务必会损耗可用性;

弱一致性:

  • 1、系统中的某个数据被更新后,后续对该数据的读取操作可能读取到更新后的值,也可能是更改前的值。
  • 2、即使过了不一致时间窗口,后续的读取也不一定能保证一致性。

顺序一致性:

  • 1、任何一次读,都能读到某个数据的最近一次写的数据。
  • 2、对其他节点之前的修改是可见的(已同步)切确定的,并且新的写入建立在已同步的基础上。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缘丶沐逸尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值