C : 一致性 > Consistency;
A : 可用性 > Availability;
P : 分区容错性 > Partition tolerance;
这个理论就是在极端情况下考虑的、非极端的情况下一般都能够CAP满足;
分布式环境都是有多个实例(分区)、也就是有(P) 、极端情况下比如网络波动;导致节点之间 同步信息有问题;这个时候你是提供服务呢? 还是等网络恢复后 并且 节点数据都同步完成再提供服务?
A ) 期间提供服务:就是保证了可用性(A)
B ) 期间不提供服务 : 就是保证了一致性(C)
也就是分布式服务 一定有(P) 、就是根据自己最优的场景 搭配(A) 还是(C) 的问题,就是所谓的AP、CP。
比如zookeeper leader挂了后、他会重新选举leader 、在选举leader的过程中服务 是不可用的,一定是选举完后节点才可用、所以他是CP模型 。
网友评论