CAP原则 cap原则三大要素

日期: 栏目:常识 浏览:7

CAP原则 cap原则三大要素

简介

CAP定理,有计算机科学家Eric Brewer提出也称Brewer定理是在分布式系统中的一个基本定理,指出任何分布式系统最多可以有两个以下三个属性。

  • Consistency(一致性)
  • Availability(可用性)
  • Partition tolerance(分区容错性)

它们的第一个字母分别是 C、A、P。

Eric Brewer 说,这三个指标不可能同时做到。这个结论就叫做 CAP 定理。


Consistency

一致性(C),是指在分布式系统中所有数据备份在同一时刻是否拥有同样的值
如下图,是一个不一致的例子



客户端从G1写入,但是从G2读到的却是一个旧的数据,不满足一致性
下图则是一个一致的例子



如图,G1在向客户端发送确认信息前,跟G2进行了一次同步操作,因此客户端从G1,G2获取的数据都将满足一致性

Availability

可用性(A),是指系统中非故障节点收到的每个请求都必须导致响应

:在可用的系统中,如果我们的客户端向服务器发送请求并且服务器没有崩溃,则服务器最终必须响应客户端。不允许服务器忽略客户端的请求。也就是说用户可以选择向 G1 或 G2 发起读操作。不管是哪台服务器,只要收到请求,就必须告诉用户,到底是 v0 还是 v1,否则就不满足可用性。

Partition tolerance

分区容错性(P),分区容错性的分区相当于对通信的时限要求,系统如果不能在一定时限内达成数据一致性,就意味这发生了分区的情况,也就是说整个分布式系统不再互联。



如果G1和G2不能保持一致性,那么就会出现分区,即分布式环境中的节点分成了两组,彼此之间无法通信

结论

  • 一个系统不能同时拥有这三个性质

组合维度

组合维度组合描述
CA放弃分区容错性,加强一致性和可用性,其实就是传统的单机数据库的选择
AP放弃一致性(这里说的是强一致性),追求分区容错性和可用性,这是很多分布式系统设计时的选择,例如很多NoSQL系统就是如此
CP放弃可用性,追求一致性和分区容错性,基本不会选择,网络问题会直接让整个系统不可以

您还可以搜索:cap原则的三个特性,cap原则包括,微服务cap原则,分布式cap原则,cap原则包括三个要素,cap原则的选择策略与应用场景,cap原则的选择策略,cap原则取舍策略,cap原则三大要素,cap原则包括一致性④

本文地址:https://caijingdemo.com/changshi/71896.html

标签: