zoukankan      html  css  js  c++  java
  • Zookeeper与Eureka的区别

    Zookeeper与Eureka的区别

    想要了解Zkeureka的区别首先要知道CAP定理

    CAP定理

     

    Mysql强一致性(数据唯一出处),设计数据库设计的三范式

    (表必须有主键;表不能有重复的列;列不能是加工而成)

    主流数据库表的设计方式:反三范式,冗余设计(性能高,缺点:数据多处,同步数据时间差,短暂时间数据不一致。)

     

    最终一致性,允许短暂时间内数据可以不一致,但过了这个时间阀值必须数据是一致。

     

    可用性,zk主从设计,如果zk节点有一半节点宕机或者有节点正在选举,此时zk集群不可用!

    Eurekap2p点对点设计,每个点的信息都可以用户接入,每个点如果信息变化,它内部会自动同步所有的数据。Eureka即使所有的节点都宕机,

    仍然能提供服务。EurekaClient客户端,缓存所有的数据信息,也能找到服务提供者。

     

    为什么不用zookeeper做注册中心 在使用dubbo时,一般都结合zk(作为注册中心)来使用。那为什么SpringCloud中使用Eureka,而不是zk呢?

    我们来比较一下,在CAP理论中,zk更看重CP,即一致性和分区容错性。但Eureka更在意的是APA为高可用。zk中有masterfollower区别,

    当进入选举模式时,就无法正常对外提供服务。但Eureka中,集群是对等的,地位是相同的,虽不能保证一致性,但至少可以提供注册服务。

    根据不同的业务场景,各有取舍吧。ZooKeeper 基于CP设计,侧重一致性而Eureka基于AP设计,侧重可用性

     

    Eureka只有一个8761的注册中心,那么如何避免单点问题呢?

    我们可以采用集群的方式来解决。 比如现在有三台机器:Server1Server2Server3.在高可用方案中,三台机器要两两注册。

    比如S1要向S2S3分别进行注册,目前他无法实现注册的传递性。 这样一来,如果Server1宕机,我们还可以继续从Server23中获取服务。

  • 相关阅读:
    标准模板库中的链表(list)
    C++接口
    qsort
    C++异常
    标准模板库中的向量(vector)
    后缀表达式/逆波兰表达式
    静态数据成员
    c++存储区域
    #define 和 const
    Git 的下载与安装
  • 原文地址:https://www.cnblogs.com/lmqblogs/p/9926083.html
Copyright © 2011-2022 走看看