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对比

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Pycharm提示 Unresolved reference 的解决办法[通俗易懂]

    Pycharm提示 Unresolved reference 的解决办法[通俗易懂]有时候a.py和b.py在一个目录里面,但是在a.py种写importb有时会提示Unresolvedreference,Pycharm常见,解决办法是setting->Project->Projectstructure->Source,点击要加入的文件夹.注意:添加成功之后该文件见的图标会编程蓝色(加入之前是淡蓝色中间一个圆圈)如上图所示。…

  • vmware10.0密钥_windows10永久激活密钥

    vmware10.0密钥_windows10永久激活密钥VMwareWorkstation是功能最强大的热门虚拟机软件,现已自带原生简体中文。用户可在在虚拟机同时运行各种操作系统,进行开发、测试、演示和部署软件,虚拟机中复制服务器、台式机和平板环境,每个虚拟机可分配多个处理器核心、千兆字节的主内存和显存。VMwareWorkstation™11延续了VMware的传统,即提供技术专业人员每天在使用虚拟机时所依赖的领先功能和性能。借

  • Oracle数据库分区表原理学习

    Oracle数据库分区表原理学习当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。Oracle提供了分区技术以支持VLDB(VeryLargeDataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护

  • hadoop使用教程_hadoop入门

    hadoop使用教程_hadoop入门Hadoop【大数据Hadoop系列】Hadoop2.X单机环境搭建【大数据Hadoop系列】Hadoop2.X集群环境搭建MapReduce【大数据Hadoop系列】分布式计算框架——MapReduceYARN【大数据Hadoop系列】Hadoop-YARN知识体系总结(2021版)【大数据Hadoop系列】集群资源管理器——YARNHDFS【大数据Hadoop系列】Hadoop-HDFS知识体系总结(2021版)【大数据Hadoop系列】Hadoop分

  • thinkphp开发微信公众号时,验证基本配置提示请求url超时

    thinkphp开发微信公众号时,验证基本配置提示请求url超时

  • [推荐]动态加载类(在程序中调用DLL文件)

    [推荐]动态加载类(在程序中调用DLL文件)

发表回复

您的电子邮箱地址不会被公开。

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