一致性(Consistency),所有节点在同一时间具有相同的数据。

可用性(Availablility),服务器一直是可用的状态。

分区容忍(Partition tolerence),一般来说,分布式系统是分布在多个位置的。由于一些外在的原因,造成服务器之间不能互相通信,数据不能同步。这就是分区容错,分区容错是不可避免的,也就是P是天然存在的。

CAP只能达到CP或者AP,如果我们保证了CP,即一致性与分区容错。当我们通过一个服务器修改数据后,该服务器会向另一个服务器发送请求,将数据进行同步,但此时,该数据应处于锁定状态,不可再次修改。这样,如果此时我们想服务器发送请求,则得不到响应,这样就不能A,高可用。如果我们保证了AP,那么我们不能对服务器进行锁定,任何时候都要得到响应,那么数据的一致性就不好说。

区别


CAP理论

通信

配置中心


Zookeeper

CP

RPC

不支持


Nacos

AP

HTTP(2.0版本后为gRPC)

支持


Eruka

AP

HTTP

不支持