eureka 集群失败的原因_Zookeeper与Eureka的区别

主要区别

  • zookeeper的目标是一个分布式的协调系统,用于进行资源的统一管理,为了满足CP而进行设计。
  • eureka的目标是一个服务注册发现系统,专门用于微服务的服务发现注册,按照满足AP而进行设计。

Zookeeper

Zookeeper 是将数据一致性作为设计目标是 CP 的,不保证服务的可用性,当节点 Crash 宕机之后,需要进行 leader 选举,选举过程中,ZK 服务不可用。

对服务注册发现来说, 对数据一致性要求没那么高,但是对可用性要求高, 如果从注册中心获取不到服务,会是很大的问题,Zookeeper 的选举时间长 30-120s,选举区间 整个 ZK 集群不可用, 云部署场景下,网络问题导致 ZK集群失去 master 节点是很大的概率,但是漫长的选举过程,导致注册长期不可用是不能容忍的。 如果 ZK 用于服务发现, 不是一个很好的选择。

Eureka

Eureka 各个节点都是平等的。其中几个节点宕机之后,剩余的节点依然可以提供注册发现服务。Eureka 客户端如果在向某个 Eureka 注册或者发现失败,会自动切换到其他节点。只要有一个节点存活,就可保证注册发现服务可用。

也就是说,Eureka 是按照 AP 的思想设计,当节点宕机之后,不会影响服务的获取和注册,client 会从别的节点中获取服务信息。

  • Eureka 保护机制

如果子啊 15分钟内超过 85% 以上的服务都没有心跳的话,会认为自己的网络有问题。

  1. Eureka不再从注册列表中移除因为长时间没收到心跳而应该过期的服务。
  2. Eureka 仍然能够接受新服务的注册和查询请求,但是不会被同步到其它节点上(即保证当前节点依然可用) 。
  3. 当网络稳定时,当前实例新的注册信息会被同步到其它节点中

注册发现场景下,Eureka 会是比较好的选择。

程序员进阶,我那个giao,好好努力吧!

b137f4f36e0b221aa178517874070d0b.png

欢迎关注公众号:程序员开发者社区

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值