CAP

CAP 是 CAP theorem 的缩写,指的是在分布式系统中,一致性 (Consistency)、可用性 (Availability) 和分区容错性 (Partition tolerance) 是 trade-off 的关系。

一致性强调的并不是数据的完整性,而是各个节点数据的数据一致

通常我们可以组合成 AP CP 以及 CA 三种组合,分别对应不同的场景。

  • CA 是一致性优先,分区容错性优先的场景,不过只要联网就不可能实现,所以如果是单机的模式下,CA 当然是可以同时满足实现的。

  • AP 模式,满足分区容错性以及高可用,你可以理解为在联网的模式下满足系统的高可用

  • CP 模式,满足分区容错性以及一致性,你可以理解为在联网的模式下满足数据的一致性

一致性和可用性都很好理解,我们讲解一下分区容错性,它是指的集群对于分区故障的容错能力,当部分节点出现问题时,系统仍然可以提供服务的能力,那么 AP 和 CP 的区别不不过是在提供服务的时候更倾向于高可用性优先还是高数据一致性优先,AP CP 都得满足部分节点出现问题,仍然可以提供服务这个前提。