分布式系统的CAP理论和BASE理论

た 入场券 2022-05-24 10:49 376阅读 0赞

现在分布式系统的应用越来越广, 这是一个很容易理解的趋势, 因为毕竟单机的性能是有限的, 在量级还不大的时候, 我们能够通过升级机器的性能来支撑服务。但是当量级到达一定的瓶颈, 单机的性能总会有撑不住的时候, 这个时候就需要使用分布式系统了。

但是当引入分布式系统之后, 就必然面临一个问题, 分布式必然是一个集群,集群中的节点就需要交互, 但是网络是一个不稳定的因素, 这个时候就需要在一致性和可用性上做一个权衡。

CAP理论

CAP是Consistency、Availablity和Partition-tolerance的缩写。分别是指:

1.一致性(Consistency):每次读操作都能保证返回的是最新数据;

2.可用性(Availablity):任何一个没有发生故障的节点,会在合理的时间内返回一个正常的结果;

3.分区容忍性(Partition-torlerance):当节点间出现网络分区,照样可以提供服务。

CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。

首先,单机肯定不存在分区的问题, 所以肯定只能保证CA。不过既然是讨论分布式系统, 这个情况肯定不在我们考虑范围内。

对于分布是系统,P肯定是占的, 那么到底是AP呢还是CP呢。

当出现节点间网络中断的情况,

如果选择一致性CP,意味着在网络恢复 数据在节点间同步完之前是不可用的。

如果选择可用性AP,意味着我们放弃了各个节点直接的同步

在实际操作的时候,一般的服务都要保证服务的可用性,所以一般会选择AP,然后在网络恢复后得到最终一致性

根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:

  • CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
  • CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。
  • AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
  • 70

  • BASE理论

  • BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性(Eventual Consitency)。

BASE是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( Eventual Consistency)。

基本可用(Basically Available)

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

电商大促时,为了应对访问量激增,部分用户可能会被引导到降级页面,服务层也可能只提供降级服务。这就是损失部分可用性的体现。

软状态( Soft State)

软状态是指允许系统存在中间状态,而该中间状态不会影响系统整体可用性。分布式存储中一般一份数据至少会有三个副本,允许不同节点间副本同步的延时就是软状态的体现。mysql replication的异步复制也是一种体现。

最终一致性( Eventual Consistency)

最终一致性是指系统中的所有数据副本经过一定时间后,最终能够达到一致的状态。弱一致性和强一致性相反,最终一致性是弱一致性的一种特殊情况。

发表评论

表情:
评论列表 (有 0 条评论,376人围观)

还没有评论,来说两句吧...

相关阅读

    相关 分布式CAP BASE 理论

    整理了一些博文作为分布式相关理论的学习笔记,同时加上了一些个人的理解,尊重原创者,文章属性就设为转载吧,参考博文的链接已附在最后。 分布式 * **[概要,与...

    相关 分布式系统CAP理论BASE理论

    随着现在系统越来越复杂,单机系统很难满足业务的发展,因此分布式系统应用越来越广泛,在两极不是很大的时候单机系统可以很好的满足需求,但是随着应用不断扩大,这个时候就需要分布式系统

    相关 分布式理论基础CAPBASE理论

    对于集中式的事务处理系统,我们可以使用很成熟的ACID模型来保证数据的强一致性。而对于分布式系统,如果我们期望实现一个满足ACID特性的分布式事务,很可能就会在系统的可用性和强

    相关 分布式系统CAP理论BASE理论

    现在分布式系统的应用越来越广, 这是一个很容易理解的趋势, 因为毕竟单机的性能是有限的, 在量级还不大的时候, 我们能够通过升级机器的性能来支撑服务。但是当量级到达一定的瓶颈,

    相关 分布式系统CAPBASE理论

    网络分区:俗称“脑裂”。当网络发生异常情况,导致分布式系统中部分节点之间的网络延时不断变大,最终导致组成分布式系统的所有节点中,只有部分节点之间能够进行正常通信,而另一些节点则

    相关 分布式 CAP理论BASE理论

    问题的提出 在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。 1、火车站售票 假如说我们的终端用户是一位经常坐火车的旅行家,通常