著名的CAP理论提出,一个分布式系统不可能同时满足Consistency(一致性),Availability(可用性),Partition tolerance(分区容错性),三者不可兼得 。
● 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
● 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)
● 分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
既然说三者不可兼得, 那么就是在一个分布式系统当中 就有这 CA CP AP 三种分配方式
由图可知 :
P在分布式系统中是必须保证的 因此我们就只需要在A 与C 之间权衡
比较:
zookeeper保证的是C
Eureka保证的是AP
Eureka 简单来说 我们在淘宝上浏览一个商品有他的浏览记录
在双十一的时候 每个商品也有浏览记录 但是必须保证服务器能正常运行
不会优先统计浏览记录 也就是AP(保证服务器的可用性)