纠纷奇闻社交美文家庭
投稿投诉
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

后端分布式的CAP理论

4月4日 火凤派投稿
  集中式应用进行服务化拆分后,必然会出现一个问题:如何保证各个节点(Node)之间的数据一致性?
  比如以下场景:
  用户首先发起一次更新操作,映射到节点A;然后,用户又做了一次查询操作,操作映射到了节点B,此时A和B的数据如果不一致,对用户来说就会造成困扰。
  分布式系统为了提高可用性,必然会引入冗余机制(副本),而冗余便带来了上面描述的一致性问题。为了解决这类问题,加州大学伯克利分校的EricBrewer)教授提出了CAP猜想。2年后,SethGilbert和NancyLynch从理论上证明了猜想的可能性。从此,CAP理论正式在学术上成为了分布式计算领域的公认定理。一、CAP三指标
  CAP理论是一个很好的思考框架,它对分布式系统的特性做了高度抽象,抽象成了一致性、可用性和分区容错性,并对特性间的冲突做了总结。一旦掌握它,我们自然而然就能根据业务场景的特点进行权衡,设计出适合的系统模型。
  我们先来看看CAP理论中三个指标的含义。1。1一致性(Consistence)
  一致性,指的是客户端的每次读操作,不管访问哪个节点,要么读到的都是同一份最新数据,要么读取失败。
  注意,一致性是站在客户端的视角出发的,并不是说在某个时间点分布式系统的所有节点的数据是一致的。事实上,在一个事务执行过程中,系统就是处于一种不一致状态,但是客户端是无法读取事务未提交的数据的,此时客户端会直接读取失败。
  CAP理论中的一致性是强一致性,举个例子来理解下:
  初始时,节点1和节点2的数据是一致的,然后客户端向节点1写入了新数据X2:
  节点1在本地更新数据后,通过节点间的通讯,同步数据到节点2,确认节点2写入成功后,然后返回成功给客户端:
  这样两个节点的数据就是一致的了,之后,不管客户端访问哪个节点,读取到的都是同一份最新数据。如果节点2在同步数据的过程中,有另外的客户端来访问任意节点,都会拒绝,这就是强一致性。1。2可用性(Availability)
  可用性,指的是客户端的请求,不管访问哪个节点,都能得到响应数据,但不保证是同一份最新数据。你也可以把可用性看作是分布式系统对访问本系统的客户端的另外一种承诺:我尽力给你返回数据,不会不响应你,但是我不保证每个节点给你的数据都是最新的。
  这个指标强调的是服务可用,但不保证数据的一致。1。3分区容错性(Networkpartitioning)
  分区容错性,指的是当节点间出现消息丢失、高延迟或者已经发生网络分区时,系统仍然可以继续提供服务。也就是说,分布式系统在告诉访问本系统的客户端:不管我的内部出现什么样的数据同步问题,我会一直运行,提供服务。
  分区容错性,强调的是集群对分区故障的容错能力。因为分布式系统与单机系统不同,它涉及到多节点间的通讯和交互,节点间的分区故障是必然发生的,所以在分布式系统中分区容错性是必须要考虑的。
  既然分区容错是必须要考虑的,那么这时候系统该如何运行呢?是选择一致性(C)呢,还是选择可用性(P)呢?这就引出了著名的CAP不可能三角。二、CACPAP选择
  所谓CAP不可能三角,其实就是CAP理论中提到的:对于一个分布式系统而言,一致性(Consistency)、可用性(Availability)、分区容错性(PartitionTolerance)3个指标不可兼得,只能在3个指标中选择2个。
  上面说过了,因为只要有网络交互就一定会有延迟和数据丢失,而这种状况我们必须接受,同时还必须保证系统不能挂掉,所以节点间的分区故障是必然发生的。也就是说,分区容错性(P)是前提,是必须要保证的。
  所以理论上CAP一般只能取CP或AP,CA只存在于集中式应用中。2。1CP架构
  当选择了一致性(C)的时候,如果因为消息丢失、延迟过高发生了网络分区,那么这个时候,当集群节点接收到来自客户端的写请求时,因为无法保证所有节点都是最新信息,所以系统将返回写失败错误,也就是说集群拒绝新数据写入。
  如下图,T1时刻,客户端往节点A写入Message2,此时发生了网络分区,节点A的数据无法同步到节点B;T2时刻,如果客户端分别读取了节点A和节点B的数据,就会出现数据不一致。
  此时,为了保证一致性(C),客户端从节点B读取数据时,节点B应当返回error,提示客户端系统发生了错误,这种方式相当于放弃了可用性(A),此时CAP三者只能满足CP。2。2AP架构
  当选择了可用性(A)的时候,系统将始终处理客户端的查询,返回特定信息,如果发生了网络分区,一些节点将无法返回最新的特定信息,它们将返回自己当前的相对新的信息。
  如下图,T1时刻,客户端往节点A写入Message2,此时发生了网络分区,节点A的数据无法同步到节点B;T2时刻,客户端访问节点B时,节点B将自己当前拥有的数据Message1返回给客户端,而实际上当前最新数据已经是Message2了,这就不满足一致性(C),此时CAP三者只能满足AP。
  注意:这里节点B返回的Message1虽然不是一个正确的结果,但是一个合理的结果,因为节点B只是返回的不是最新结果,并不是一个错乱的值。三、总结
  本章,我对CAP理论进行了基本的讲解,总结一下:CA模型:在分布式系统中不存在,因为舍弃P,意味着舍弃分布式系统,就比如单机版关系型数据库MySQL,如果MySQL要考虑主备或集群部署时,它必须考虑P。CP模型:采用CP模型的分布式系统,一旦因为消息丢失、延迟过高发生了网络分区,就影响用户的体验和业务的可用性。因为为了防止数据不一致,集群将拒绝新数据的写入,典型的应用是ZooKeeper,Etcd和HBase。AP模型:采用AP模型的分布式系统,实现了服务的高可用。用户访问系统的时候,都能得到响应数据,不会出现响应错误,但当出现分区故障时,相同的读操作,访问不同的节点,得到响应数据可能不一样。典型应用就比如Cassandra和DynamoDB。
  最后,关于CAP理论有个误解:就是认为无论在什么情况下,分布式系统都只能在C和A中选择1个。事实上,在不存在网络分区的情况下(也就是分布式系统正常运行时),C和A能够同时保证。只有当发生分区故障的时候,也就是说需要P时,才会在C和A之间做出选择。
  所以,我们在进行系统设计时,需要根据实际的业务场景,在一致性和可用性之间做出权衡。
  文章来源:https:www。tpvlog。comarticle63
投诉 评论

新能源汽车蓝海变红海后浪小米如何出招?图片来自小米官网顶端新闻河南商报首席记者郭丁然距离2021年3月30日小米官宣正式进军电动汽车行业,已经过去700天。小米切入汽车市场,备受关注期待。如今汽车……火箭总经理慧眼识珠,哈登筹码坑惨骑士,3选秀权原本可以换戈登篮网对战骑士这场附加赛因为事关篮网的选秀权,所以休城的球迷对这场比赛也是相当的关心,只要篮网输掉比赛,这个首轮签的顺位就是进一步的提升,所以休城的球迷都在为骑士打气,希望他们可……丰田第五代THS发布玩了25年的混动,最终活成了比亚迪的样子近日,丰田正式发布了第五代THSII双擎混动系统。要知道,丰田的这一套油电混动系统已经发展了25年了,历经四次换代。作为油电混动技术的鼻祖之一,丰田算得上是混动专用发动机前桥双……汪小菲没白疼女儿!具俊晔敷面膜穿潮装扮嫩,却被小玥儿喊成爷爷跟娱乐圈中一些人到中年就放松对身材管理的男演员们比起来,今年52岁的具俊晔可以说是非常的自律,尤其是跟大S结婚之后,为了给女方家庭留下好的印象,同时也是让自己看上去更加的减龄显……DYG爆发实力!强势晋级下一轮,面对XYG胜算很大,MTG输秦启电竞,畅谈赛事新热点。很多小伙伴们从头到尾看了2021年KPL秋季赛之后,会有一种感觉,这届KPL真的是跌宕起伏,让人完全摸不着头脑,完全没有痕迹可循。譬如说谁……宇通客车联合多方发出零碳排放倡议加快新能源车应用优选绿色交通来源:中国交通新闻网10月31日,第26届联合国气候变化大会(COP26)在英国苏格兰格拉斯哥开幕,宇通客车作为公共出行领域中国制造代表受邀参加。与此同时,在格拉斯哥街头……齐云山玩法新升级揽胜齐云必玩横江四月,十里温润春风唤醒了花花世界染绿了层层山峦抓住美好春光一起去山野里踏青吧齐云山,古称白岳,位于安徽休宁县,是国家级风景名胜区,国家地质公园。集……广州是弱队,就欺负我们?老叔用5场禁赛换来一个凝聚的广州这是笔者见过CBA最令人泪目的画面。202122赛季第一阶段,广州和吉林的比赛最后8秒左右,比分为93比94广州落后一分,但球权仍然属于吉林,最后一攻,代怀博在右侧底角接……大衣哥路边晒太阳,被嘲形象差太邋遢,网友赶紧拍,拍完换衣服大衣哥作为草根明星,这几年通过接商演,确实赚了不少钱。农民可以不追星,但大衣哥在他们心目中,却有不一样的地位。大衣哥出道时,不知道多少人,在家等着看他的节目。对比一下就会……你适合长发还是短发?身高决定头发长度,不足160的女生选齐肩你适合长发还是短发?这个问题肯定是困扰了不少的小姐姐,很多女性都比较在意自己的发型,随着时间的推移和年纪的增长,咱们可以选择的发型也是不同的,但是选择头发的长度也是极其关键的因……不忘初心,方得始终人生处在低谷时,默默忍受,痛不呻吟,因为没有人替你抗,替你帮,暗暗下功夫,走出底谷。坚守初心,永不放弃,没必要说出来,唉声叹气,怪东怪西,见什么都不顺眼,更不能自暴自弃,破罐破……后端分布式的CAP理论集中式应用进行服务化拆分后,必然会出现一个问题:如何保证各个节点(Node)之间的数据一致性?比如以下场景:用户首先发起一次更新操作,映射到节点A;然后,用户又做了……
未来技术的开发将又是一场硬战考古家发现隋朝古墓棺材上有4字至今无人敢开(图)2022年最佳SSD从廉价SATA到超快NVME(PCIe4经典80岁济公一句话全场沸腾(图文)合谋盗古墓挖一米就放弃事件背后的真相让人哭笑不得一首关于家庭亲子关系的美好,亲情的温暖的诗歌,爱的美妙的旋律西汉古墓挖出仙药怎么回事仙药图片什么样子的揭晓韩国古墓中发现星座图怎么回事这座墓的墓主是谁中央广播电视总台发布2022年度国内国际十大科技新闻两兄弟挖出古墓竟藏千年龙脉(图)古墓挖出千年乌龟真相揭开时原来是这样(图)专家撬开古墓主棺后吓得封棺!(图)订立合同“黄云陇底白云飞,未得报恩不得归。”全诗意思,原文翻译,赏析细节决定成败车内特殊部位如何细微保养历史知识全国各大城市今古名称对照浅谈如何通过自考英语刺激战场吃鸡枪皮肤怎么得可是我只是来种田的啊?模拟游戏海岛牧歌(ReLegend)测塑身内裤的好处和坏处塑身内衣对人体有害吗2016年有关晒家风亮校训征文梁山的五虎将分别都是谁分别都占的是第几位越南队主帅还没看到中国足球的弱点,国足战术技术都很好小事并不小

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形