C 一致性 A 可用性 P 分区容忍
由于网络分区是肯定存在的,比如n1.n2.n3.n4.n5.n6 这几个机器出现了分区,1,2,3 和 4,5,6.分成了两个区.所以P是肯定存在的,不受人为控制的,除非有一种方法能够解决分区问题.那么就能保证高可用和强一致性.
要么满足A可用性,要么满足C一致性.所以需要在A和C中选择
ZooKeeper是实现了CP,保证了分区情况下的强一致性,访问任意一个节点都能得到一致的数据.缺点是强一致性造成的服务不可用.
而eureka实现了AP,满足了分区情况下的可用性,但是造成了数据的不一致.