CAP原则

简介

CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)Availability(可用性)Partition tolerance(分区容错性),三者不可得兼。
CAP理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。

由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。所以我们只能在一致性和可用性之间进行权衡,没有NoSQL系统能同时保证这三点。

在操作上,CAP的本质是,在发生了分区(网络故障)以后,有一段timeout时间,在这个时间内程序必须做出基本的决定:

  1. 取消操作,从而降低可用性
  2. 继续进行操作,从而导致风险不一致。

CAP原则

一致性(C)

在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)

可用性(A)

在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)

分区容错(P)

以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。

参考资料