立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索

图文播报

查看: 1595|回复: 3

[分享] CAP中的分区容错性和可用性有什么区别?

[复制链接]
发表于 2024-10-23 20:29 | 显示全部楼层 |阅读模式
回复

使用道具 举报

发表于 2024-10-23 20:30 | 显示全部楼层
2000年,Eric Brewer在ACM PODC分布式计算原理专题讨论会上首次提出CAP原则。后来,麻省理工学院的两位科学家(赛斯·吉尔伯特和南希·林奇)证明了CAP原则的正确性。目前,CAP原则被大型公司广泛采纳,例如Amazon公司。
CAP原则又称CAP定理,它包括一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)三大要素,三大要素的介绍具体如下;
·一致性:系统在执行过某项操作后,仍然处于一致的状态。在分布式系统中,更新操作执行成功后所有的用户都应该读取到最新的值,这样的系统被认为具有一致性。
·可用性:每一个操作总是能够在一定的时间内返回结果,这里需要注意的是“一定时间内”和“返回结果”,也就是说系统的结果必须在给定的时间内返回,若超时,则被认为是不可用的。
·分区容错性:系统存在网络分区的情况下,仍然可以接受请求(即满足一致性和可用性)。网络分区指的是由于某种原因网络被分成若干个孤立的区域,而区域之间互不相通。分区容错性可理解为系统对结点动态加人和离开的处理能力,因为结点的加入和离开可认为是集群内部的网络分区。
CAP原则中,一个分布式系统中最多可同时实现上述的两个要素,不可同时实现三个要素,具体如图所示。





从图中可以看出,CAP原则最多可以同时实现两个要素,即AP、CP或AC,不存在同时实现三个要素的情形,即CAP。若是分布式系统中的数据无副本的话,系统必然会满足一致性(因为只有单独的数据,不会出现数据不一致的情况);若是分布式系统中出现了网络分区状况或者宕机,则必然会导致某些数据不可以访问,此时就不能满足可用性要素,即在此情况下获得了CP系统,但是CAP是不可同时满足的。

接下来,我们通过一张表来描述CAP原则的取舍策略与应用场景,具体如表所示。




选择CA策略,意味着放弃P,也就是说,保证了系统的一致性和可用性,却违背了分布式系统的分区容错性;选择CP策略,意味着放弃A,也就是说,保证了系统的一致性和分区容错性,但用户的体验较差,即当系统宕机时,需要等待所有结点的数据一致时,用户才可访问系统;选择AP策略,意味着放弃C.也就是说,保证了系统的可用性和分区容错性,但是结点之间的数据会出现不一致的现象。因此,我们可以根据自已的需求,选择对应的策略。
回复 支持 反对

使用道具 举报

发表于 2024-10-23 20:30 | 显示全部楼层
我认为你理解的不对。你说的只是集群,不是分布式
回复 支持 反对

使用道具 举报

发表于 2024-10-23 20:31 | 显示全部楼层
谢邀。
可用性和分区容错性的确很容易混淆。不过要分辨的话其实也很好分辨。
首先明确一下分区的概念,分区指的是:由于某些异常,导致集群内的机器存在多个互相不连通的区域。例如5台机器组成的集群,3台机器在a机架上,另外2台在b机架上。如果两个机架之间的网络断开,那么就会出现一个集群分成了2个分别由3台机器和2台机器组成的分区。
在出现分区的情况下,集群并不一定是不可用的。因为只是两个分区之间的连接出现异常,如果两个分区对外部系统的连接都是正常的,或者其中一个分区对外部的连接是正常的,那此时集群是有可能对外正常提供服务的。因此,并不一定是不可用的。例如上诉情况下,a机架的对外的网络是正常的,那此时a机架是能够正常响应客户端的查询请求的。
那么分区容错性指的是什么呢?其实也很简单,主要防止出现脑裂的异常。大数据为了防止出现异常,数据通常保存三份。假设出现分区之后,对数据进行修改,由于出现了分区,无法在集群内进行同步,就有可能出现数据的多个版本,如果只是单分区出现修改,后期还能通过对比恢复一致性,最可怕的是两个分区都对同一份数据进行了不同的修改,这种情况下,即使后期连接恢复,也难以对两个分区的数据进行同步,就出现了数据混乱。
因此,分区容错性,核心是要防止脑裂的发生。目前通常的做法是,集群数量必须为单数,这样能保证即使发生分区,也最多只会有一个分区获取控制权,其他分区由于无法获得半数以上的投票,从而使得该分区下线停止对外服务。
总结一下,分区容错性主要为了防止脑裂。当分区异常出现时,集群按照规则,可能依然处于可用状态,并没有发生不可用的情况。
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

关闭

官方推荐 上一条 /3 下一条

快速回复 返回列表 客服中心 搜索 官方QQ群 洽谈合作
快速回复返回顶部 返回列表