开发者社区> soledad_lhc> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CAP定理

简介: CAP定理告诉我们:一个分布式系统不可能同时满足一致性(C:Consistency),可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本要求,最多只能同时满足其中的两项。
+关注继续查看

CAP定理告诉我们:一个分布式系统不可能同时满足一致性(C:Consistency),可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本要求,最多只能同时满足其中的两项。

一致性

在分布式的环境中,一致性是指数据在多个副本之间是否能够保持一致的特性。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态。
对于一个将数据副本分布在不同分布式节点上的系统来说,如果对第一个结点的数据进行了更新操作并且更新成功后,却没有是的第二个节点上的数据得到相应的更新,于是在堆第二个节点的数据进行读取操作时,获取的仍然是老数据。这就是典型的分布式数据不一致情况。在分布式系统中,如果能够做到针对一个数据项的更新操作执行成功后,所有的用户都可以读到其中最新的值,那这样的系统就被认为具有强一致性(或者严格的一致性)。

可用性

可用性是指系统提供的服务必须一直处于可用的状态,对于用户的每一个操作请求,总是能够在有限的时间内返回结果。

有限的时间内是指对于用户的一个操作请求,系统必须能够在指定的时间内返回对应的处理结果,如果超过了这个时间范围,那么系统就被认为是不可用的。另外,有限的时间内是一个在系统设计之初就设定好的系统运行指标,通常不同的系统会有很大的不同。
返回结果是可用性的另一个非常重要的指标,它要求系统在完成对用户请求的处理后,返回一个正常的响应结果,正常的响应结果通常能够明确地反映出对请求的处理结果,即成功或者失败,而不是一个让用户赶到困惑的返回结果。

分区容错性

分区容错性约束了一个分布式系统需要具有如下特征:分布式系统在遇到任何网络分区故障时候,仍然需要能够保证对外提供满足一致性和可用性的全部服务,除非是整个网络环境都发生了故障。
网络分区是指在分布式系统中,不同的结点分布在不同的子网络,由于一些特殊的原因这些子网络导致这些子网络之间出现网络不连通的状况,蛋哥哥子网络的内部网络是正常的,从而导致整个系统的网络环境被切分成了若干个孤立的区域。需要注意的是,组成一个分布式系统的每个节点的接入与退出都可以看作是一个特殊的网络分区。
key words:分区容错性通常是分布式系统的一个基本要求,人们往往在可用性和一致性之间寻找平衡。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAP CDS view权限控制实现原理介绍
SAP CDS view权限控制实现原理介绍
77 0
CAP原理
简单介绍了一下CAP原理
317 0
「系统架构」CAP 定理的含义
分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。 分布式系统的最大难点,就是各个节点的状态如何同步。
831 0
C++的内存管理
这篇文章是我在学习高质量C++/C编程指南中的第7章"内存管理"后的一篇笔记,之前我也写过相关的文章指针以及内存分配,但我感觉那篇还不是很好,这篇我很把它更完善一些 一.内存的常见分配方式   1.
974 0
如何“打败”CAP定理 【转】
12月的程序员有这篇文章,有些意思,可以参考。 CAP定理是数据系统设计的基本理论,目前几乎所有的数据系统的设计都遵循了这个定理。但CAP定理给目前的数据系统带来了许多复杂的、不可控的问题,使得数据系统的设计越来越复杂。
724 0
+关注
soledad_lhc
csdn博客:http://blog.csdn.net/lhc1105
508
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载