SpringCloud(一)—-Eureka和Zookeeper对比

SpringCloud(一)—-Eureka和Zookeeper对比

1.CAP理论

著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。在此Zookeeper保证的是CP, 而Eureka则是AP
C(一致性):在分布式系统中,是否立即达到数据同步的效果(平时多说的强一致性)。在分布式系统一定最终会一致的。如果请求完,整个分布式系统同步后才返回结果,叫做强一致性。如果先返回结果,在一定时间后才实现一致性就叫做弱一致性。
A(可用性):在分布式系统中,其中一些节点出现问题,整个整体是否还可用。还可以从性能角度上考虑,整个分布式系统反应较快也属于达到了可用性。
P(分区容错性):在分布式系统中,是否可以在有限的时间内达到数据一致的效果,如果因为网络等问题最终没有达到一致性,这时称为出现分区错误。

2.Zookeeper 保证 CP

在Zookeeper集群中,Zookeeper的数据保证的是一致性的。当Leader出现问题时,整个Zookeeper不可用,需要花费30~120s来进行重新选择leader,当leader选举成功以后才能进行访问整个Zookeeper集群。
通过这点也可以看出Zookeeper是强一致性的,集群所有节点必须能通信,才能用集群。虽然这样集群数据安全了,但是可用性大大降低了。而作为注册中心来说可用性是很重要的。

3.Eureka保证AP

Eureka发现了Zookeeper的问题,所以它舍弃了Zookeeper中强一致性,而保证了可用性。
在Eureka集群中所有的节点都是保存完整的信息的,当Eureka Client向Eureka中注册信息时,如果发现节点不可用,会自动切换到另一台Eureka Sever,也就是说整个集群中即使只有一个Eureka可用,那么整个集群也是可用的。
同时Eureka的自我保护机制也是实现可用性非常重要的体现。

4.ZooKeeper和Eureka对比

在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2332.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea202.3.3激活码[在线序列号]

    idea202.3.3激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    460
  • c++实现登录注册功能(用Javaweb制作登录注册页面)

    这两天c#大作业要求做一个简单的通讯录系统,我就先做了登录和注册的功能,在网上看了一些代码,自己再做,终于做出来了。做的不是很美观,但是可以简单实现。首先用sqlserver建表。我建了一个名为user_info的表,添加username和passdword两个字段。创建登录页面,改了一些控件的名称,效果如下图:登录界面代码如下:privatevoidbtn_Login…

    2022年4月15日
    411
  • 均方误差与方差的区别_平均数 方差 标准差

    均方误差与方差的区别_平均数 方差 标准差一、百度百科上方差是这样定义的:看这么一段文字可能有些绕,那就先从公式入手,对于一组随机变量或者统计数据,其期望值我们由E(X)表示,即随机变量或统计数据的均值,然后对各个数据与均值的差的平方求和,最后对它们再求期望值就得到了方差公式。这个公式描述了随机变量或统计数据与均值的偏离程度。二、方差与标准差之间的关系就比较简单了根号里的内容就是我们刚提到的那么问题来了,

    2022年9月1日
    9
  • intellij idea激活码多少钱(最新序列号破解)

    intellij idea激活码多少钱(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    53
  • 为你的爬虫添加 IP 池反反爬策略[通俗易懂]

    为你的爬虫添加 IP 池反反爬策略[通俗易懂]为你的爬虫添加 IP 池反反爬策略

    2022年4月21日
    65
  • 关于Random.nextInt()方法详解「建议收藏」

    关于Random.nextInt()方法详解「建议收藏」博主在阅读>这本书时,发现其中有一个使用Random.readInt()的示例,便在idea上敲着看。发现运行结果与书上的一模一样。不禁让我好奇了起来。如下图:                 如果你也照着敲了一遍的话,我相信结果如下:                  问题来了!random.read

    2022年7月22日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号