CAP 定律

CAP 定律

衡量分布式系统的性能有三个指标,即:

  • Consistency(一致性)
    分布式系统的所有节点上,同一时刻,对用户来说一次写操作之后的多次读操作是否会得到一致的响应。该指标是衡量数据在多节点上的一致性。
  • Availability(可用性)
    对用户请求的实时成功响应的要求,该指标是衡量系统响应能力。
  • parition tolerance(分区容错性)
    以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
image

CAP 定律是说你不能设计一个分布式系统同时完美的满足上面三个指标。而分布式系统的分区容错性总是存在的,所以系统设计需要在C和A中权衡。根据对一致性和可用性的不同要求,有三种场景:
1)Weak 弱一致性:当你写入一个新值后,读操作在数据副本上可能读出来,也可能读不出来。比如:某些cache系统,网络游戏其它玩家的数据和你没什么关系,VOIP这样的系统,或是百度搜索引擎(呵呵)。

2)Eventually 最终一致性:当你写入一个新值后,有可能读不出来,但在某个时间窗口之后保证最终能读出来。比如:DNS,电子邮件、Amazon S3,Google搜索引擎这样的系统。

3)Strong 强一致性:新的数据一旦写入,在任意副本任意时刻都能读到新值。比如:文件系统,RDBMS,Azure Table都是强一致性的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability...
    贾歌阅读 696评论 0 0
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,447评论 0 9
  • 分布式系统面临的第一个问题就是数据分布,即将数据均匀地分布到多个存储节点。另外,为了保证可靠性和可用性,需要将数据...
    olostin阅读 4,631评论 2 26
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,923评论 0 5
  • 在计算机科学领域,分布式环境数据的一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。 1、火车站售...
    新时代农民工阅读 404评论 0 1