CAP 理论的理解

本文阅读 3 分钟
首页 知识库 正文

在理论计算机科学中, CAP定理(CAP theorem),⼜被称作布鲁尔定理
Brewer’s theorem),它指出对于⼀个分布式计算系统来说,不可能同时满⾜以下三点:
Consistency(⼀致性)指数据在多个副本之间能够保持⼀致的特性(严格的⼀致性)
Availability(可⽤性)指系统提供的服务必须⼀直处于可⽤的状态,每次请求都能获取到⾮错的响应(不保证
获取的数据为最新数据)
Partition tolerance(分区容错性)分布式系统在遇到任何⽹络分区故障的时候,仍然能够对外提供满⾜⼀致
性和可⽤性的服务,除⾮整个⽹络环境都发⽣了故障
Spring Cloud 在 CAP法则上主要满⾜的是 A和 P法则, Dubbo和 Zookeeper 在 CAP法则主要满⾜的是 C和 P法
则。
CAP仅适⽤于原⼦读写的 NOSQL场景中,并不适合数据库系统。现在的分布式系统具有更多特性⽐如扩展性、可
⽤性等等,在进⾏系统设计和开发时,我们不应该仅仅局限在 CAP问题上。现实⽣活中,⼤部分⼈解释这⼀定律
时,常常简单的表述为: “⼀致性、可⽤性、分区容忍性三者你只能同时达到其中两个,不可能同时达到”。实际上
这是⼀个⾮常具有误导性质的说法,⽽且在 CAP理论诞⽣12 年之后, CAP之⽗也在2012 年重写了之前的论⽂。当
发⽣⽹络分区的时候,如果我们要继续服务,那么强⼀致性和可⽤性只能2 选1。也就是说当⽹络分区之后 P是前
提,决定了 P之后才有 C和 A的选择。也就是说分区容错性(Partition tolerance)我们是必须要实现的。

解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

MySQL 如何做分布式锁?
« 上一篇 08-02
BASE 理论的理解
下一篇 » 08-02

发表评论