Eureka与Zookeeper的区别

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介:      著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡,在此Zookeeper保证的是CP, 而Eureka则是AP。
    著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。

由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡,在此Zookeeper
保证的是CP, 而Eureka则是AP。
Zookeeper保证数据一致性和分区容错性
在ZooKeeper中,当master节点因为网络故障与其他节点失去联系时,剩余节点会重新进行
leader选举,但是问题在于,选举leader需要一定时间, 且选举期间整个ZooKeeper集群都是不可用
的,这就导致在选举期间注册服务瘫痪。在云部署的环境下,因网络问题使得ZooKeeper集群失去
master节点是大概率事件,虽然服务最终能够恢复,但是在选举时间内导致服务注册长期不可用是难以容忍的。
Eureka保证可用性和分区容错性
Eureka优先保证可用性,Eureka各个节点是平等的,某几个节点挂掉不会影响正常节点的工作, 剩余的节点依然可以提供注册和查询服务。而Eureka的客户端在向某个Eureka注册或时如果发现连接 失败,则会自动切换至其它节点,只要有一台Eureka还在,就能保证注册服务可用(保证可用性),只不 过查到的信息可能不是最新的(不保证强一致性)。
所以Eureka在网络故障导致部分节点失去联系的情况下,只要有一个节点可用,那么注册和查询服务就 可以正常使用,而不会像zookeeper那样使整个注册服务瘫痪,Eureka优先保证了可用性。
总结
Eureka会造成短暂的数据不一致性,这是可以容忍的,但是zookeeper在主服务器down的时候,要选取新的主服务器,造成的时间导致服务注册长期不可用时难以容忍的,所以推荐使用Eureka,再加上Eureka集成Spring Cloud是十分方便的,所以推荐大家使用Eureka作为服务注册中心。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
7月前
|
存储 缓存 分布式计算
ZooKeeper、Eureka注册中心对比
ZooKeeper、Eureka注册中心对比
390 0
|
7月前
|
容灾 Java 测试技术
低成本、高稳定性 |满帮集团 Eureka 和 ZooKeeper 的上云实践
充分了解和利用云的能力,能够让满帮技术团队从底层的持续投入中解脱出来,聚焦更上层的系统稳定性和工程效率,从架构层面实现更高的 ROI。
68054 15
|
7月前
|
容灾 Java 测试技术
低成本、高稳定性 | 满帮集团 Eureka 和 ZooKeeper 的上云实践
业务体量增大后,日益凸显的架构稳定性问题该如何解决?满帮集团选择了上阿里云,采用阿里云 MSE Nacos,MSE ZooKeeper 产品替换原先的 Eureka 和 Zookeeper 集群,做到了低成本快速的架构升级,以及上云期间业务流量的无损平滑迁移。
57155 15
|
7月前
|
机器学习/深度学习 人工智能 算法
【机器学习】平均绝对误差 (MAE) 与均方误差 (MSE) 有什么区别?
【5月更文挑战第17天】【机器学习】平均绝对误差 (MAE) 与均方误差 (MSE) 有什么区别?
|
7月前
|
存储 缓存 分布式计算
对于注册中心,ZooKeeper、Eureka哪个更合适
对于注册中心,ZooKeeper、Eureka哪个更合适
324 1
|
7月前
|
微服务
三个微服务注册中心eureka、consul、zookeeper之间的异同点以及CAP理论图
三个微服务注册中心eureka、consul、zookeeper之间的异同点以及CAP理论图
345 0
|
3月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
3月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
3月前
|
存储 负载均衡 Dubbo
分布式-Zookeeper(一)
分布式-Zookeeper(一)
|
5月前
|
监控 NoSQL Java
分布式锁实现原理问题之ZooKeeper的观察器(Watcher)特点问题如何解决
分布式锁实现原理问题之ZooKeeper的观察器(Watcher)特点问题如何解决