栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Eureka和Zookeeper的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Eureka和Zookeeper的区别

在谈这个问题之前我们先看一下CAP原则:C(Consistency)-数据一致性;A(Availability)-服务可用性;P(Partition tolerance)-服务对网络分区故障的容错性,这三个特性在任何分布式系统中不能够同时满足,最多同时满足俩个,并且P(分区容错性)是一定要满足的.

1. Eureka 满足AP(服务可用性和容错性)   Zookeeper 满足CP(数据一致性和容错性)

Eureka 满足AP,可用性,容错性.当因网络故障时,Eureka的自我保护机制不会立即剔除服务,虽然用户获取到的服务不一定是可用的,但至少能够获取到服务列表,用户访问服务列表时还可以利用重试机制,找到正确的服务.更服务分布式服务的高可用需求

Zookeeper 满足CP,数据一致性,服务容错性.数据在各个服务间同步完成后才返回用户信息,而且如果服务出现网络波动导致监听不到服务心跳,会立即从服务列表中剔除,服务不可以.

2. Eureka集群各节点平等,Zookeeper集群有主从之分

Zookeeper 如果ZK集群中有服务宕机,会重新进行选举机制,选择出主节点,因此可能会导致整个集群因为选主而阻塞,服务不可用

Eureka 集群中有服务宕机,因为是平等的各个服务器,所以其他服务器不受影响

3. Eureka 的服务发现者会主动拉取服务,Zookeeper 服务发现者是监听机制

Zookeeper 是监听节点信息变化,当服务节点信息变化时,客户端立即就得到通知

Eureka 中获取服务列表后会缓冲起来,每隔30秒重新拉取服务列表

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992221.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号