Eureka 和 zookeper 的区别 以及CAP理论

 先说CAP

 CAP,C 是指强一致性,A是指可用性,P是指分区一致性。

 这三个是不同同时满足的,最多只能同时满足两个。P是一定要占用的,剩下的一个我们就要根据业务的需求去衡量。

 

为什么说C和A不能同事满足

这里就拿注册中中间件来说:一个注册中心集群,如果想要保证一致性,那就一定要等集群全部节点的服务注册表信息完全一直了,才能对外提供服务,否则一致性就不能保证。比如说三个节点,其中一个节点的注册表信息发生变化,此时如果没有完成同步,想要保持可用性开放对外服务,则到不同的节点上取到的数据是不一致的,这保证了可用性而违背一致性。如果一定要等集群数据同步完,再提供服务,则在同步期间,一定不能对外提供服务,这就失去了可用性。所以说可用性A和一致性C是相互冲突的。


最重要的区别 

  1. zookeper 是保证  cp的,Eureka是保证AP 的 。从CP 和 AP 的角度上来说, zookeper  使用的主从,主节点挂了以后,从节点切换成主节点,问题就出在这里,那就是选举的时间有点长。 而  Eureka 配置的集群,只要有一个存在,就可以正常的提供服务。
  2. 时效性问题:根据Eureka的机制,一个服务从上线,完成注册,到消费端能够使用,如果不调参数的话,需要花费一分钟的时间。这源于Eureka的多级缓存,整体是采用一个被动更新的方式来更新注册表数据的。也就是说如果时效性要求比较高的话,确实是有问题的,我们要考虑,如果注册的服务挂了,一分种才能发现。难道这一分钟都去报错吗?还是要处理。 而zk是使用主动推送的方式更新注册的服务的。一旦有服务注册过来,就主动更新注册表到客户端。
  3. 容量问题:注册中心能够支持多少个客户端的连接。

 

Eureka 的优势所在

 Eureka 可以很好的应对,因为网络故障导致部分节点失去联系的情况,不会像zookeper一样整个注册服务瘫痪。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值