美文网首页
CAP定理分析

CAP定理分析

作者: f192469fc2d5 | 来源:发表于2019-05-10 09:40 被阅读0次

1.什么是CAP定理

   一个分布式系统不可能同时满足一致性可用性分区容错性这三个基本需求,最多只能同时满足其中的2个。
   一致性(C:Consistency) 指数据在多个副本之间能够保持一致的特性。
   可用性(A: Availability) 指系统提供的服务必须一直处于可用的状态,每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据。
   分区容错性(P:Partition tolerance) 分布式系统在遇到任何网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务,除非整个网络环境都发生了故障。

2.为什么不能同时满足CAP?

假设有如下一个系统:


一个简单的分布式系统

   整个系统由两个节点配合组成,之间通过网络通信,当节点 A 进行更新数据库操作的时候,需要同时更新节点 B 的数据库(这是一个原子的操作)。

   上面这个系统怎么满足 CAP 呢?C:当节点A更新的时候,节点B也要更新,A:必须保证两个节点都是可用的,P:当节点 A,B 出现了网络分区,必须保证对外可用。

   可见,根本完成不了,只要出现了网络分区,A 就无法满足,因为节点 A 根本连接不上节点 B。如果强行满足 C 原子性,就必须停止服务运行,从而放弃可用性 C。

组合 分析结果
CA   满足原子和可用,放弃分区容错。说白了,就是一个整体的应用。
CP   满足原子和分区容错,也就是说,要放弃可用。当系统被分区,为了保证原子性,必须放弃可用性,让服务停用。
AP   满足可用性和分区容错,当出现分区,同时为了保证可用性,必须让节点继续对外服务,这样必然导致失去原子性。

3.能不能同时满足CAP?

   比如 C 使用弱一致性,可以先将数据存起来,稍后再更新,实现 “最终一致性”。

相关文章

  • CAP定理(CAP theorem)

    CAP定理(CAP theorem)在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理...

  • CAP定理分析

    1.什么是CAP定理    一个分布式系统不可能同时满足一致性,可用性和分区容错性这三个基本需求,最多只能同时满足...

  • 请简述 CAP 原理

    什么是CAP? CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是加...

  • 架构理论学习之分布式系统理论CAP

    分布式系统理论CAP CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem)...

  • 什么是CAP定理(CAP theorem)

    在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer's theorem)...

  • CAP 定理

    在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer's theorem)...

  • CAP 定理

    CAP 定理(CAP theorem),又被称作布鲁尔定理(Brewer's theorem),它指出对于分布式计...

  • Eureka和ZooKeeper的特性

    CAP定理 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(数据一致性)、 Avail...

  • 05. CAP 定理与 BASE 理论

    CAP 定理与 BASE 理论 CAP 定理 2000 年 7 月,加州大学伯克利分校的 Eric Brewer ...

  • 22 | 想成为架构师,你必须知道CAP理论

    CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是加州大学伯克利分校...

网友评论

      本文标题:CAP定理分析

      本文链接:https://www.haomeiwen.com/subject/yxggoqtx.html