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 会是比较好的选择。

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

在这里插入图片描述

wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 19.89元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值