一、什么是CAP
C:Consistency(强一致性)
A:Availability(可用性)
P:Partition tolerance(分区容错)
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,因此,根据CAP原理将NoSQL数据库分成了满足CA原则、满足CР原则和满足AP原则三大类:
CA–单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
CP–满足一致性,分区容错性的系统,通常性能不是特别高。
AP–满足可用性,分区容错性的系统,通常可能对—致性要求低一些。
PS:CAP理论关注粒度是数据,而不是整体系统设计的策略
二、AP和CP
作为分布式微服务而言,肯定首先要保证分区容错性,只能在一致性和可用性之间做取舍
AP架构(Eureka)
当网络分区出现后,为了保证可用性,系统B可以返回旧值,保证系统的可用性。
结论:违背了一致性C的要求,只满足可用性和分区容错,即AP。
CP架构(Zookeeper/Consul)
当网络分区出现后,为了保证一致性,就必须拒接请求,否则无法保证一致性。
结论:违背了可用性A的要求,只满足一致性和分区容错,即CP。