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

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

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

但是,一旦遇到分区问题,无法达成多数一致,必然会存在读写失败的情况。就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级别。

    推荐阅读
  • 松仁玉米怎么做正宗(大厨教你一道松仁玉米)

    松仁玉米怎么做正宗松仁含有亚油酸、亚麻油酸等不饱和脂肪酸,还含有钙、磷、铁等营养物质,具有养阴、熄风、润肺、滑肠等功效。2锅中注入适量清水烧开,放入少许盐,倒入胡萝卜丁,煮半分钟。4淋入适量食用油,搅拌匀,再煮2分钟至熟。6热锅注油,烧至四成热,放入松仁,炸约1分钟。8锅底留油,放入姜片、蒜末、葱段,爆香。11倒入水淀粉勾芡。12关火后盛出炒好的食材,装入盘中,撒上松仁即可。

  • 民粹主义的作用(民粹民族主义的对立面是经济现实主义)

    外刊近期,民族情绪的高涨已成为各种政治事件的推力。在意大利和英国,民族主义对平等主义的支配地位尤为引人注目,因为这两国曾经以本国国民对国家认同感的冷漠态度出名。例如,英国已经逐渐意识到,各种欧洲问题与支持脱欧的本国大部分选民真正政治上的不满情绪毫无关系。意大利对于欧盟所实施的,包括弄巧成拙的财政规则等在内诸多政策颇为不满。

  • 坚忍不拔是什么意思(坚忍不拔的意思是什么)

    下面内容希望能帮助到你,我们来一起看看吧!坚忍不拔是什么意思坚忍不拔的意思是:形容信念坚定,意志顽强,不可动摇。

  • win10怎么设置开机自动启动项(禁用电脑开机启动项)

    禁用电脑开机启动项,让您开机快些,减少没有必要的加载,拉慢您的WIN10系统开机速度。状态下看看该程序是否已显示为已禁用,反之会显示已启用的状态。

  • 釨字取名的寓意 湉字取名的寓意

    釨字的本意为刚,最早见于宋代。釨字用作人名有品德高尚、涵养、勇敢无畏的寓意。妮釨、釨英、怡釨、釨婷、彩釨、釨芳、智釨、釨秋、伯釨、釨红、娅釨、釨丽、潇釨、釨茜、书釨、釨悦、怡釨、建釨、釨婷、凤釨、望釨、釨钰、家釨、釨玥等。

  • 汽车投诉排行榜(4月汽车质量投诉榜出炉)

    丰田霸占二三名4月份汽车质量投诉排行榜中,丰田汽车占据了第二三名,分别是广汽丰田汉兰达以221起投诉排名第二,一汽丰田皇冠陆放以120起投诉占据第三名。都说开不坏的丰田,一车传三代,但是如今,丰田车似乎每个月都要在投诉排行榜上留下身影。

  • 人生感悟淡泊是一种本色(平淡是真淡泊是福)

    喜欢热热闹闹,喜欢刺激,喜欢大红大紫,人生便会大起大落,如此并不是幸福快乐的人生。在现实中,经常耳闻不少嘴上说得很恩爱的夫妻,表面上看两人感情很好,可“热”后不是吵架就是离异。平淡是真,"过热"是假。有热就会冷,只有平淡才能坚持长久。

  • 饼肥是氮肥还是钾肥(饼肥是氮肥吗)

    饼肥是一些豆子,种子,经过榨油提炼留下来的残渣等,一般有花生饼肥,豆饼肥,麻渣等。饼肥不是的氮肥也不是钾肥,而是有机肥。它含有很充足的氮肥磷肥钾肥,同时,里面也会含有一些有机质,蛋白质等。使用后可以改善盆土的质量,让盆土变得更加肥沃疏松透气。

  • 三洋洗衣机显示e4是什么故障(三洋洗衣机显示E4什么故障)

    三洋洗衣机显示e4表示进水超时。三洋,是日本的一家有60年历史的大型企业集团,总部位于日本大阪,产品涉及显示器、手机、数码相机、机械、生物制药等众多领域。三洋电机是日本Panasonic旗下的电器公司,全球拥有324间办公室及工厂与约100,000名雇员。三洋电机由井植岁男于1947年成立,并于1950年组成株式会社,创办人为松下幸之助的内弟以及松下电器前雇员。

  • 华南理工大学自考本科学士学位证(自考的学位证书)

    自考的学位证书北京中大博睿教育小编在这里为大家汇总相关知识:通过所有本科课程后,许多自考生会问如何申请文凭有人会问如何申请学位证书大多数候选人无法区分学位证书,学历证书和毕业证书之间的区别今天,中大博睿的小编将告诉。