Zookeeper 和Eureka比较

作为服务注册中心,Eureka比Zookeeper好在哪里
著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性P在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。
因此
Zookeeper保证的是CP,
Eureka则是AP。

4.1 Zookeeper保证CP
当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的注册信息,但不能接受服务直接down掉不可用。也就是说,服务注册功能对可用性的要求要高于一致性。但是zk会出现这样一种情况,当master节点因为网络故障与其他节点失去联系时,剩余节点会重新进行leader选举。问题在于,选举leader的时间太长,30 ~ 120s, 且选举期间整个zk集群都是不可用的,这就导致在选举期间注册服务瘫痪。在云部署的环境下,因网络问题使得zk集群失去master节点是较大概率会发生的事,虽然服务能够最终恢复,但是漫长的选举时间导致的注册长期不可用是不能容忍的。

4.2 Eureka保证AP
Eureka看明白了这一点,因此在设计时就优先保证可用性。Eureka各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册和查询服务。而Eureka的客户端在向某个Eureka注册或时如果发现连接失败,则会自动切换至其它节点,只要有一台Eureka还在,就能保证注册服务可用(保证可用性),只不过查到的信息可能不是最新的(不保证强一致性)。除此之外,Eureka还有一种自我保护机制,如果在15分钟内超过85%的节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,此时会出现以下几种情况:
1. Eureka不再从注册列表中移除因为长时间没收到心跳而应该过期的服务
2. Eureka仍然能够接受新服务的注册和查询请求,但是不会被同步到其它节点上(即保证当前节点依然可用)
3. 当网络稳定时,当前实例新的注册信息会被同步到其它节点中

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

原文地址:https://www.cnblogs.com/wjx6270/p/11619328.html

时间: 2024-08-30 16:59:28

Zookeeper 和Eureka比较的相关文章

Consul zookeeper etcd eureka

这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论: Feature Consul zookeeper etcd eureka 服务健康检查 服务状态,内存,硬盘等 (弱)长连接,keepalive 连接心跳 可配支持 多数据中心 支持 - - - kv存储服务 支持 支持 支持 - 一致性 raft paxos raft - cap ca cp cp ap 使用接口(多语言能力) 支持http和dns 客户端 http/grpc http(sidecar) watch支持 全量/

两大微服务 注册中心 ZooKeeper 和 Eureka 的区别

===>>spring cloud集成zookeeper例子:https://www.cnblogs.com/li-zhan/p/9401692.html ZooKeeper 和 Eureka 的区别 鉴于服务发现对服务化架构的重要性,Dubbo 实践通常以 ZooKeeper 为注册中心(Dubbo 原生支持的 Redis 方案需要服务器时间同步,且性能消耗过大). 针对分布式领域著名的 CAP 理论(C——数据一致性,A——服务可用性,P——服务对网络分区故障的容错性), Zookeepe

ZooKeeper与Eureka对比

简介 Eureka [ j?'rik? ]本身是Netflix开源的一款提供服务注册和发现的产品,并且提供了相应的Java封装.在它的实现中,节点之间相互平等,部分注册中心的节点挂掉也不会对集群造成影响,即使集群只剩一个节点存活,也可以正常提供发现服务.哪怕是所有的服务注册节点都挂了,Eureka Clients(客户端)上也会缓存服务调用的信息.这就保证了我们微服务之间的互相调用足够健壮. Zookeeper主要为大型分布式计算提供开源的分布式配置服务.同步服务和命名注册.曾经是Hadoop项

Consul vs. Zookeeper vs. Eureka

https://stackshare.io/stackups/consul-vs-eureka-vs-zookeeper Open Source Service Discovery     Favorites 61 Stacks 397 Fans 346 Votes 177 Jobs 394 Favorites 25 Stacks 313 Fans 201 Votes 34 Jobs 363 Favorites 17 Stacks 82 Fans 93 Votes 40 Jobs 46 Hack

zookeeper和Eureka对CAP理论的支持

著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性).A(可用性)和P(分区容错性).由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡.在此Zookeeper保证的是CP, 而Eureka则是AP. Zookeeper保证CP 当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的注册信息,但不能接受服务直接down掉不可用.也就是说,服务注册功能对可用性的要求要高于一致性.但是zk会出现这样一种情况,当master节点因为网络故障与其他节点失

从CAP到zookeeper和eureka对比

今天看了一篇eureka对比zookeeper的文章,对zookeeper满足CAP中的CP,eureka满足AP产生了一点疑问,故写此篇文章进行一些探讨. 首先我们来看看CAP的定义 Consistency 中文叫做"一致性".意思是,写操作之后的读操作,必须返回该值.举例来说,某条记录是 v0,用户向 G1 发起一个写操作,将其改为 v1,接下来,用户的读操作就会得到 v1.这就叫一致性. Availability 中文叫做"可用性",意思是只要收到用户的请求,

常用的服务发现对比(Consul、zookeeper、etcd、eureka)

这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论:   Feature Consul Zookeeper Etcd Eureka 服务健康检查  服务状态,内存,硬盘等  (弱)长连接,keepalive  连接心跳  可配支持 多数据中心  支持  -  -  - kv存储服务  支持  支持  支持  - 一致性  raft  paxos  raft  - CAP定理  CA  CP  CP  AP 使用接口(多语言能力)  支持http和dns  客户端  http/grp

Eureka简介

转 http://blog.csdn.net/neosmith/article/details/53131023 spring Cloud Netflix技术栈中,Eureka作为服务注册中心对整个微服务架构起着最核心的整合作用,因此对Eureka还是有很大的必要进行深入研究. 本文主要分为四部分,一是对项目构建的简要说明:二是对程序入口点的定位,帮助大家找到阅读源码的起点:三是对Eureka实现机制的分析:四是与使用Zookeeper相比Eureka作为注册服务的区别. 1. 源码 1.1 源

dubbo+zookeeper+springboot构建服务

本次和大家分享的是dubbo框架应用的初略配置和zookeeper注册中心的使用:说到注册中心现在我使用过的只有两种:zookeeper和Eureka,zk我结合dubbo来使用,而Eureka结合springcloud使用,因此后面将和大家分享一些关于微服务的一些篇章,希望对你有好的帮助. 安装注册中心zookeeper dubbo框架之provider和consumer dubbo-admin部署 安装注册中心zookeeper 首先,我们需要在网上搜索下zookeeper下载地址,我这里是