面试专题:CAP理论、BASE理论

Consistency(一致性):

即更新操作成功并返回客户端后,所有节点在同一时间的数据完全一致。
对于客户端来说,一致性指的是并发访问时更新过的数据如何获取的问题。
从服务端来看,则是更新如何复制分布到整个系统,以保证数据最终一致。

Availablity(可用性)

即服务一直可用,而且是正常的响应时间。系统能够很好的为用户服务,不出现用户操作失败或者访问超时等用户体验不好的情况。

Partition Tolerance(分区容错性)

即分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。分区容错性要求能够使应用虽然是一个分布式系统,而看上去却好像是在一个可以运转正常的整体。比如现在的分布式系统中有某一个或者某几个机器宕机了,其它剩下的机器还能够正常运转满足系统需求,对于用户而言并没有什么体验上的影响。

BASE 理论

CP 和 AP:分区容错是必须保证的,当发生网络分区的时候,如果要继续服务,那么强一致性和可用性只能 2选 1。

BASE 是 Basically Available(基本可用)、Soft state(软状态)和 Ebentually consistent(最终一致性)
BASE 理论是对 CAP 中一致性和可用性权衡的结果,其来源对于大规模互联网系统分布式实践的总结,是基于 CAP 定理逐步演化而来的。BASE 理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
基本可用:

  • 响应时间上的损失:正常情况下,处理用户请求需要 0.5s 返回结果,但是由于系统出现故障,处理用户请求的时间变为 3s。
  • 系统功能上的损失:正常情况下,用户可以使用系统的全部功能,但是由于系统访问量突然剧增,系统的部分非核心功能无法使用。

软状态: 数据同步允许一定的延迟
最终一致性: 系统中所有的数据副本,在经过一段时间的同步后,最终达到一个一致的状态,不要求实时

猜你喜欢

转载自blog.csdn.net/lxn1023143182/article/details/114878401