当前位置:   article > 正文

搞懂CAP定理_cap 必须牺牲一者

cap 必须牺牲一者

CAP 定理

    CAP定理(CAP theorem),又被称为布鲁尔定理(Eric Brewer),1988年第一次提出。

    最初提出是指分布式数据存储不可能同时提供以下三种保证中的两种以上

  • 一致性(Consistency):每次读取收到的信息是最新的。

  • 可用性(Availability):每个请求都会收到(非错误)响应。

  • 分区容错(Partition tolerance):尽管节点之间的网络不通导致分区,系统仍继续运行。

    事实上,不仅仅是分布式数据存储应用,所有分布式系统都必须在CAP这三点之间权衡。

 

分布式系统理论基础

    示例:

  • 分布式系统有些请求,由多个系统之间公共协同完成,协同处理的服务器极有可能会出现故障或者网络分区导致用不了,然后就要去保证分区容错,容错的方式就是部署集群。

  • 集群的出现,就要考虑数据一致性,因为请求可能随机请求到集群某一个节点,这时候就要保证数据一致性,节点之间的数据同步。节点之间同步的时间间隔就出现了系统不可用。

  • 在分布式系统,往往一定会保障分区容错性。如果为了保障一致性就会牺牲可用性,所以需要在这三点之间权衡

 

 

为什么会有满足CAP的应用出现?

    往往首先会保障分区容错性,这需要权衡一致性和可用性。

    在一致性,可以并非要强一致性,当数据同步到多少之后就可以提前使用,来提高可用性。

    这就满足了CAP三者的应用,但不是完完全全满足。

    分布式数据存储不可能同时提供以下三种保证中的两种以上是没有错的,但是可以通过各自牺牲一小部分来达到、能容忍范围之间的三者结合。

 

    CAP三者各牺牲一部分,并非完全舍弃。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号