首页 > 其他分享 >10-springcloud-eureka-6-Eureka 与 Zookeeper 的比较

10-springcloud-eureka-6-Eureka 与 Zookeeper 的比较

时间:2023-04-06 17:25:01浏览次数:36  
标签:10 可用性 springcloud Zookeeper Eureka 保证 注册 节点

Eureka 与 Zookeeper 的比较

著名的 CAP 理论指出,一个分布式系统不可能同时满足 C(一致性)、A(可用性) 和 P(分区容错性);

由于分区容错性在是分布式系统中必须要保证的,因此我们只能在 A 和 C 之间进行权衡,在此 Zookeeper 保证的是 CP, 而 Eureka 则是 AP。

Zookeeper 保证 CP

在 ZooKeeper 中,当 master 节点因为网络故障与其他节点失去联系时,剩余节点会重新进行 leader 选举,但是问题在于,选举 leader 需要一定时间, 且选举期间整个 ZooKeeper 集群都是不可用的,这就导致在选举期间注册服务瘫痪。在云部署的环境下,因网络问题使得 ZooKeeper 集群失去 master 节点是大概率事件,虽然服务最终能够恢复,但是在选举时间内导致服务注册长期不可用是难以容忍的。

Eureka 保证 AP

Eureka 优先保证可用性,Eureka 各个节点是平等的,某几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册和查询服务。而 Eureka 的客户端在向某个 Eureka 注册或时如果发现连接失败,则会自动切换至其它节点,只要有一台 Eureka 还在,就能保证注册服务可用(保证可用性),只不过查到的信息可能不是最新的(不保证强一致性)。

所以 Eureka 在网络故障导致部分节点失去联系的情况下,只要有一个节点可用, 那么注册和查询服务就可以正常使用,而不会像 zookeeper 那样使整个注册服务瘫痪,Eureka 优先保证了可用性;

标签:10,可用性,springcloud,Zookeeper,Eureka,保证,注册,节点
From: https://www.cnblogs.com/healthinfo/p/17293445.html

相关文章

  • 11-springcloud-eureka-7-Eureka 注册中心高可用集群
    在微服务架构的这种分布式系统中,我们要充分考虑各个微服务组件的高可用性问题,不能有单点故障,由于注册中心eureka本身也是一个服务,如果它只有一个节点,那么它有可能发生故障,这样我们就不能注册与查询服务了,所以我们需要一个高可用的服务注册中心,这就需要通过注册中心集群来解决。......
  • PAT Basic 1072. 开学寄语
    PATBasic1072.开学寄语1.题目描述:下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的......
  • 力扣 面试题 10.11. 峰与谷
    面试题10.11.峰与谷在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5,8,4,2,3,4,6}中,{8,6}是峰,{5,2}是谷。现在给定一个整数数组,将该数组按峰与谷的交替顺序排序。示例:输入:[5,3,1,2,3]输出: [......
  • zookeeper安装
    zoo.cfg配置文件如下:tickTime=2000initLimit=10syncLimit=5dataDir=/data/zookeeperclientPort=2181metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvidermetricsProvider.httpHost=0.0.0.0metricsProvider.httpPort=7000metricsProvi......
  • 苹果CMS V10 API接口相关
    苹果CMSV10内置API接口网上查了一下没啥结果,都是采集和第三方的。所以看了下源码,提取出来的内内置接口如下,比较少,而且缺乏一些字段,还是要自己写才行,供参考。苹果CMSV10API接口相关影片接口url:/api.php/provide/vod/可用于获取分类、列表和详情ac:模式(videolist或detail详......
  • 9-springcloud-eureka-5-从Eureka服务注册中心发现与消费服务
    已经搭建一个服务注册中心,同时也向这个服务注册中心注册了服务,接下来我们就可以发现和消费服务了,这其中服务的发现由eureka客户端实现,而服务的消费由Ribbon实现,也就是说服务的调用需要eureka客户端和Ribbon,两者配合起来才能实现;Eureka客户端是一个Java客户端,用来连接E......
  • 8-springcloud-eureka-4-向Eureka服务注册中心注册服务
    eureka-server就是我们自己开发的module,是eureka的服务端,扮演注册中心的角色;eureka-client就是我们自己开的微服务module,向eureka-server注册中心注册服务;前面搭建了服务提供者项目,接下来我们就可以将该服务提供者注册到Eureke注册中心,步骤如下:demo1-provider项目中操作1、在......
  • PAT Basic 1071. 小赌怡情
    PATBasic1071.小赌怡情1.题目描述:常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注t个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家t个筹码;否则扣除玩家t个筹码。注意:玩家下......
  • 深度学习—ResNet_CIFAR100代码
        1'''2参考资料:PyTorch官方文档3'''45#导入所需的包6importtorch7importwandb8importtorch.nnasnn9fromtorchvisionimporttransforms10fromtorchvision.datasetsimportCIFAR10011fromtorch......
  • 题目 1016: [编程入门]水仙花数判断
    打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 #include<stdio.h>intmain(){inta,b,c,i;for(i=100;i<1000;i++){a=i/100;b=i/10%10;c=i......