CAP 定理CAP 定理(也称为 Brewer 定理),是由计算机科学家 Eric Brewer 提出的,即在分布式计算机系统不可能同时提供以下全部三个保证:
一致性(Consistency):所有节点同一时间看到是相同的数据;
可用性(Availability):不管是否成功,确保每一个请求都能接收到响应;
分区容错性(Partition tolerance):系统任意分区后,在网络故障时,仍能操作
显然,为了保障性能和可靠性,我们将数据复制多份,分布到多个节点上,同时也带来了一个难点,那就是如何保持各个副本数据的一致性。换句话说,我们选择了 AP ,则必须要牺牲掉 C 了。
但是,在实际的应用场景中,数据的一致性往往也是需要保证的。那么这是否违背了 CAP 定理呢?
一致性模型其实,数据的一致性也分几种情况,大致可以分为: