高考考试网
当前位置: 首页 高考资讯

关于介绍cap协议的书(CAP的一个理解实例)

时间:2023-08-02 作者: 小编 阅读量: 8 栏目名: 高考资讯

但是,一旦遇到分区问题,无法达成多数一致,必然会存在读写失败的情况。就CAP定理而言,与shard或partition并没有直接关系。所以,只有一个regionserver提供服务,此时regionserverdown掉,必然不能提供服务。即Cassandra保证分区可读,但读取的数据会有不一致的可能性。此时,Cassandra就成为CP系统。

关于介绍cap协议的书?CAP定理是分布式领域的一个基础定理,它指出了一个分布式系统必须在三个方面进行权衡取舍:一致性、可用性、分区容忍性,下面我们就来聊聊关于关于介绍cap协议的书?接下来我们就一起去了解一下吧!

关于介绍cap协议的书

CAP定理是分布式领域的一个基础定理,它指出了一个分布式系统必须在三个方面进行权衡取舍:一致性、可用性、分区容忍性。

下面从一个最简单的例子开始理解CAP理论。

1、单节点服务

对于一个单节点服务,因为只有一个节点,不存在分区,所以没有P,只有CA。所以这是一个CA系统。

首先看C,在CAP定义中, C的含义是任何时间、任何节点读取的数据,都是相同的,即保证了一致性。因为只有一个节点,所以C总是满足。

再看A,在CAP的定义中,A的含义是任何时候、只要有可用节点,就可以提供读写服务,而且读写不会失败。因为只有一个节点,所以A也总是满足。

2、master、slave

相对于单节点来说,主备场景至少需要两个节点,一个master、一个slave。主备节点之间定期同步数据。那么这种场景下,属于那种类型?

此时有两个以上节点,所以有分区了,就存在分区容忍性的问题。所以,要么是CP、要么是AP。

之一:

如果主从两个节点可读,因为主从同步需要一点时间,所以不能保证在任何一个时刻,从主从节点读取到的数据完全保持一致。所以,既然不能保证一致性,但可用性提高了。因为master不可用时,slave可提供服务。这是一个AP系统。

之二:

如果master不可用时,必须等待某个slave变成master才可用,此时一定有个时间段不能提供服务(slave to master时长),直到新的master产生。此时,就变成了了一个CP系统。

3、多副本

因为三副本情况居多,以三副本为例。副本之间的数据同步方法很多。一致性要求比较高的场景,会选择Paxos或Raft算法保证一致性。如果基于一致性算法读写(多数一致),那么在任何一个分区读写的时候,一定是一致的(因为是多数一致)。但是,一旦遇到分区问题,无法达成多数一致,必然会存在读写失败的情况。

所以,这是一个CP系统,无法保证A。

4、多shard或partition的情形

在分布式存储或分布式数据库领域里,shard或partition是常用方式,一般是根据某个属性进行hash,然后进行分区。

就CAP定理而言,与shard或partition并没有直接关系。CAP要求的是一个数据单元(简单理解为row,而不是多raw;或者一个transaction)在读写时,能满足一致性、可用性、分区容忍。在NoSQL或NewSQL领域,很少有跨行事务,所以只考虑单行。单行数据在hash之后分配到某个shard或partition中,所以CAP也仅限于这个特定的shard或partition。

例如:对于hbase,一个partition的region server类似于master、slave之二场景。所以hbase是一个CP系统。

5、HBase

HBase既然属于CP,也就是放弃了A(即可用性),为什么?

从HBase写流程说起,HBase row的写操作由一个region server完成,如果从row的角度看,只有一个节点提供写服务,而一个节点在任何时刻都必然是满足一致性的。

那么,为什么是牺牲可用性(A)呢?从CAP理论出发,要保证A,必须是在任何一个节点down的情况下,依然能保证A。然而,如果一个region server down掉,会有一段时间需要其他server接管,在此期间是无法提供服务的。所以,只有一个region server提供服务,此时region server down掉,必然不能提供服务。所以,不满足A的要求。

6、Cassandra

Cassandra读写一致性级别可配置,在大多数情况下,对一致性要求不是非常高的场景(仍然有最终一致性),Cassandra不保证CAP理论所定义一致性。即在不同分区的读取的数据,可能是不一致的。即Cassandra保证分区可读,但读取的数据会有不一致的可能性。

当配置的一致性级别为ALL、QUORUM时(读 写),如果有超过一定数量的分区失败,写入就会失败。如果写入成功,那么在任何一个分区读取到的数据都保持一致。此时,Cassandra就成为CP系统。

7、kudu

Kudu的一致性级别相当于Cassandra的QUORUM级别。

    推荐阅读
  • 苹果怎么查是不是正品(辨别真假)

    接下来我们就一起去了解一下吧!苹果怎么查是不是正品用电脑上的iTunes软件,能连上软件的就是正品。在苹果官网上查询手机的序列号。点击设置,点击通用,点击关于本机就可以查找序列号。可以直接在百度上搜索“苹果序列号查询”关键字,在页面中输入后即可轻松查询。

  • 详细测评雷克萨斯lx570(越野性能出类拔萃)

    雷克萨斯LX570是一款口碑非常好的豪华SUV,它的外观和性能都很出色,豪华感和档次感也能够满足家用和商用的双重需求。动感大气的侧面造型,镀铬装饰尽显豪华SUV的档次感。航空踏板也是它必不可少的配置,镀铬门把手,以及前后排的无钥匙进入功能。再加上它的多种驾驶模式和舒适性悬架,绝对带来非常霸气的驾驶体验。

  • 一键启动和无钥匙进入什么区别(无钥匙启动和无钥匙进入功能分别是什么意思)

    无钥匙启动和无钥匙进入功能分别是什么意思随着车辆技术越来越先进,现在很多车辆都配备了无钥匙进入和无钥匙启动的功能,方便驾驶人员不过针对这两个功能,还是有不少车主不是很了解分不清两者的区别或是功能首险说说无钥匙进入无钥匙进入是只不需要要是就可。

  • 孩子几岁跟父母分床睡最好 孩子几岁跟父母分床睡最好呢

    孩子太小时跟父母分房睡会损害孩子的安全感。

  • 火龙果剥皮的方法(怎么剥火龙果的皮)

    接下来我们就一起去研究一下吧!火龙果剥皮的方法先把火龙果的两端都切掉一部分,注意不要切掉太多果肉就可以了。接下来就用刀在果皮上划开一道口子,口子的深度已刚刚触及果皮为宜,如果是成熟比较好的火龙果,通常只划一道口子就可以了,个头较大或成熟度不高的火龙果,就划上四道口子吧。现在,完整的火龙果果肉就摆在你的面前了,想要切成什么形状全凭你个人处置了。

  • 电商新手起步要选择哪个平台(新手电商五大重点)

    有些人在做这个淘宝上都不知道,后台都不知道买卖顾问有什么东西,咱们怎样去阐发一些数据呢?我们想要果断一些东西,一定是有民间的数据的,如许我们才气精确判断它的轨迹。我们才能在起店的进程中应用这些数据,把店铺做的更好。渐渐的你就知道做什么类目,大概说淘宝就给你选出哪一个类目是主营了。那第三点就是要选择词和品一定要完全立室。这样你的投入本钱是很是大的,并且失利的几率会更大。

  • 怎么取消芒果会员自动续费 怎么取消芒果会员自动续费功能

    1、可以通过购买芒果TV会员的支付途径中关闭自动续费功能,首先以微信为例,打开微信,在的页面点击;2、进入支付页面后,点击右上角的点进入支付管理页面;3、接着找到并点击一项,进入管理自动扣费页面;4、在扣费服务中找到点击进入项目详情页面;5、最后在项目详情页面点击最下方的,关闭后当前状态会显示已停用,则表示已关闭芒果TV自动续费功能啦;

  • 微信发朋友圈的精辟句子精选(微信朋友圈精选文案)

    下面内容希望能帮助到你,我们来一起看看吧!微信发朋友圈的精辟句子精选不去追逐你所渴求,你将永远不会拥有。不开口问,回答永远是No。不往前走,就将永远停留。现在的你的位置并不重要,重要的是你前进的方向。生命中总有那么一段时光,充满不安,可是除了勇敢面对,我们别无选择。生命中有很多事情足以把你打倒,但真正能把你打倒的是你的心态。生活,一半是回忆,一半是继续。

  • 高压锅牛肉筋头巴脑的做法(如何用高压锅做牛肉筋头巴脑)

    高压锅牛肉筋头巴脑的做法用料:筋头巴脑1千克、罗勒叶(干)1把、老抽3勺、生抽2勺、蚝油2勺、冰糖50克、八角2~3个、桂皮1~2块、花椒10克、姜4~5片、香叶3~4片、陈皮5~6片、料酒2勺、米酒1勺、盐1勺。牛肉洗净,改刀成大小基本均匀的小块。此时可以放点姜片和料酒,除腥。转入高压锅焖一焖,使其即柔韧入味,又保有嚼劲。三档压20分钟起锅,收汁儿即可。

  • 茶叶储存的方法有哪些(茶叶怎么储存)

    干燥贮藏,茶叶吸湿性强,含水量高时容易氧化变质,也会生霉变质因此,茶叶必须干燥后贮存,贮存容器内必须放入适量的块石灰或干木炭等吸湿剂,以防返潮(石灰与茶叶的容积比为1∶3,即容器内1/3放石灰或木炭,2/3的地方放茶叶,我来为大家讲解一下关于茶叶储存的方法有哪些?因此,茶叶必须干燥后贮存,贮存容器内必须放入适量的块石灰或干木炭等吸湿剂,以防返潮。