【CAP&BASE理论】

CAP理论

啥是CAP理论

指出对于一个分布式计算系统来说,不可能同时满足以下三点:

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

只能选择AP or CP (思考题)

一个分布式系统最多只能同时满足一致性、可用性和分区容错性这三项中的两项。在这三个基本需求中,最多只能同时满足其中的两项,P是必须的,所以只能在AP和CP中选择,zookeeper保证的cp,对比spring cloud系统中的注册中心eureka实现的是AP。
在这里插入图片描述

Base理论

Base理论是由basicall available基本可用、soft-state软状态、eventuall consistent最终一致性三个短语的缩写。
什么是基本可用:在分布式系统出现故障时,允许损失部分可用性(服务降级、页面降级)
什么是软状态:允许分布式系统出现中间状态。而且中间状态不影响系统的可用性。这里的中间状态是指不同的data replication之间的数据更新可以出现延时的最终一致性。

那么, 这个理论其余呢是cap中的可用性和一致性进行一个权衡的结果,理论的核心思想就是:我们无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式使系统达到最终一致性。

一个思考题:

zookeeper是强一致性吗

首先先了解几个一致性:强一致性、弱一致性、最终一致性、顺序一致性
什么是强一致性:
	1.任意时刻,所有节点中的数据是一样的
	2.一个集群需要对外部提供强一致性,所以只要集群内部某一台服务器的数据发生了改变,那么就需要等待集群内的其他机器的数据同步完成,才能正常的对外部提供服务。
	3.保证了集群强一致性,务必会损耗可用性。
	
什么是弱一致性:
	1.系统中的某个数据被更新后,后续对于这个数据的读操作可能是更新后最新的数据,也可能是更改之前的值。
	2.即使过了不一致时间窗口,后续的读取也不一定能保证一致。
	
什么是最终一致性:
	1.弱一致的特殊形式,不保证在任意时刻任意两个节点上的数据是一样的,但是随着时间的推移,不同节点的数据会慢慢相同。
	2.存储系统保证在没有新的更新的条件下,最终所有的访问都是最后更新的值。
	
什么是顺序一致性:
	1.任何一次读都能读到某个数据的最近一次写的数据。
	2.对于其他节点之前的修改是可见(同步)且确定的,并且新的写入建立在已经达成同步的基础上。

思考的答案是:zookeeper写入是强一致性,读是顺序一致性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值