前言:CAP定理是学习分布式所必备的知识点之一,所以先深入的理解一下这个知识点。初看CAP定理时,有些不以为意,在后续的学习中发现这是个特别值得仔细揣摩的点。
一、CAP定理
我们了解到分布式是将一个业务拆分成多个子业务,就有了我们的分布式系统,而CAP定理就是针对分布式系统的。CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),也称为帽子原理。
C:Consistence,一致性(强一致性)。所有子业务在同一时刻读取的数据都具有相同的值。
A:Availability,可用性,好的响应性能。每次请求都能获取到非错的响应。
P:Partition tolerance,分区容忍性(分区容错性)。某个子业务发生故障时,系统仍能够继续运行。
二、关于三选二
- 通过字面意思我们可以理解为这是分布式系统的三个重要属性。也可以这样说,这个分布式系统有一致性,有可用性,有分区容错性(这里可能会因为这个词的陌生而觉着别扭,需要简单理解下)。
- 很多资料说明对一个分布式系统来说不可能同时满足以上三点,只能实现其中俩点。 也有说分区容忍性是必须实现的,我们只能在剩余俩点中二选一。 可以看出矛盾点来自于分区容忍性,让我们来了解下。