SpringCloud 之 为什么 Eureka 比 zookeeper更适合做服务注册与发现 - Go语言中文社区

SpringCloud 之 为什么 Eureka 比 zookeeper更适合做服务注册与发现


         著名的CAP理论提出,一个分布式系统不可能同时满足Consistency(一致性),Availability(可用性),Partition tolerance(分区容错性),三者不可兼得 。        

一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)

可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)

分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。

              既然说三者不可兼得, 那么就是在一个分布式系统当中 就有这   CA   CP   AP  三种分配方式

由图可知 :

P在分布式系统中是必须保证的 因此我们就只需要在A 与C 之间权衡

 比较:

zookeeper保证的是C

Eureka保证的是AP

Eureka 简单来说   我们在淘宝上浏览一个商品有他的浏览记录

在双十一的时候  每个商品也有浏览记录  但是必须保证服务器能正常运行

不会优先统计浏览记录 也就是AP(保证服务器的可用性)

因此,Eureker可以很好的应对因网络故障导致部分节点失去联系的情况,而不会向zookpper那样使整个服务瘫痪。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_43224049/article/details/88777349
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 22:18:26
  • 阅读 ( 1190 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢