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

关于介绍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级别。

    推荐阅读
  • 泥鳅养殖方法(泥鳅如何养殖)

    泥鳅养殖方法养殖泥鳅种鳅需要一个池塘,面积在5-6亩之间,具有独立的进排水系统。池深2-3米,上方要架设防鸟网,以防各种鸟类捕食。准备放养前需要用生石灰清塘消毒,之后注水放入泥鳅。日常管理中,要根据泥鳅的大小和年龄来决定喂食的量和次数。5斤计算投放鳅苗。施肥:泥鳅的饲喂过程中,可以适当地补施些有机肥,但在施肥时,一定不能过多过频,并且要勤换池水,一般10—15天换水一次。

  • 染发的危害是不可逆的吗(染发对健康有影响)

    化学染发剂中含有众多重金属物质,比如铅等。染发美丽的同时给我们带来很大风险,建议最好不要染发,保持自然之美是最好的。

  • 余音绕梁的意思是什么(余音绕梁的名词解释)

    余音绕梁的意思是什么意思:歌唱停止后,余音好像还在绕着屋梁回旋,形容歌声或音乐优美,耐人寻味。我国古时有一位善歌者韩娥,韩国人。一次她经过齐国,因路费用尽,便在齐国都城的雍门卖唱筹资。韩娥声音清脆嘹亮,婉转悠扬,十分动人。这次演唱,轰动全城。唱完以后,听众还聚在雍门,徘徊留恋,不肯散去。

  • 晒包菜干方法(如何晒卷心包菜干)

    跟着小编一起来看一看吧!晒包菜干方法材料:卷心菜,盐。卷心菜洗干净,切块,不用太小。洒盐,盐渍出水,挤干。平摊开来,放太阳底下晒。晒三天左右,待干就有香味了。放到干净的密封袋子里,继续发酵一个月就可以食用了。

  • 适合小孩吃的猪肚做法(这菜和猪肚炒口感细腻)

    猪肚虽好,但是要用好的食材来搭配,使它更加完美又好吃。海鲜菇的嫩滑Q弹,加上猪肚爽脆,这两种食材搭配在一起可谓是非常完美的。而不新鲜的猪肚却恰恰相反,猪肚翻开里面有小疙瘩的,不易购买。在炒猪肚时必须炒出锅气,这时的整道菜才算好吃,喷香哦。

  • 火星文昵称男生(火星文名称男生)

    火星文名称男生愛消逝︶承諾°原來隻是撦淡乜許」倣棄套蕗導師斷斷續續的思念つ緈諨dě後續~呮洧寂寞財浍萇汏獨自去偷歡゜☆堔椥叆亾儺侢覞,初戀_╰花開ヽ蔠灬敗落〝轉身流淚っ誐吥渼狚婧堔莪禧歡沵選萚離開忢夲潇灑額們還要繼。

  • 怎么在网上申请劳动仲裁(在南宁网上申请劳动仲裁的做法)

    下面希望有你要的答案,我们一起来看看吧!怎么在网上申请劳动仲裁关注“南宁人社”微信公众号,点击右下方“掌上办事”,注册账号并登录。点击“仲裁维权”在弹出窗口选择“仲裁案前调解申请”。选择“调解申请”。在弹出窗口填写相关信息。完成后等待审核,劳动仲裁机构会跟你联系。

  • 过期啤酒的用途(大有用处)

    洗头发,洗澡啤酒里的酵素和酶能够软化角质,排出身体多余的水分,可使皮肤变得光泽细腻啤酒中含大麦啤酒花,先将头发用洗发水洗一遍后再用来洗头发,泡头发可以去去屑,还能使头发柔发、有光泽洗澡时加入一些过期的啤酒泡一泡,最后再清洗一遍就可以了,下面我们就来说一说关于过期啤酒的用途?啤酒中含大麦啤酒花,先将头发用洗发水洗一遍后再用来洗头发,泡头发可以去去屑,还能使头发柔发、有光泽。

  • c919飞机发展趋势(从一个机型到一个产业)

    C919的研制成功,将成为带动我国航空产业、高端制造业发展的“新引擎”。据悉,首家用户已经进行了计划安排。2022年7月21日,C919大飞机第七架机的机组人员准备登机。自立项以来,近30万人参与了C919大飞机的研制。在C919项目的推动下,中国商用飞机目前已建成2个国家级创新平台、5个省部级创新平台、一批公司级试验室及研究机构。

  • 宝宝生日怎么计划(重庆安琪儿为1384名准爸妈解锁国际范儿胎教法)

    针对孕产家庭最集中的三大胎教疑惑,拥有20余年临床经验的重庆安琪儿妇产医院副院长、妇产专家雷慧琼给出了专业解答。重庆安琪儿瑜伽导师罗睿带领妈妈练习分娩减痛瑜伽。据医院负责人透露,重庆安琪儿胎教音乐会已连续举办三年,并将继续举办。