• zookeeper和Eureka的区别


    RDBMS==>(MySql,Oracle,SqlServer等关系型数据库)遵循的原则是:ACID原则

    A:Atomicity 原子性

    C:Consistency 一致性

    I:Isolation 独立性

    D:Durability 持久性

    NoSql==>    (redis,Mogodb等非关系型数据库)遵循的原则是:CAP原则

    C:Consistency 强一致性

    A:  Availability 可用性

    P:Partition Tolerance分区容错性

    分布式领域有一个很著名的CAP定理:

    C:Consistency 数据一致性

    A:Availability 服务可用性

    P:Partition Tolerance 分区容错性(服务对网络分区故障的容错性)

    任何分布式系统只能保证两个

    CAP理论也就是说在分布式存储系统中,最多只能实现以上两点。

    而由于当前网络延迟故障会导致丢包等问题,所以我们分区容错性是必须实现的。也就是NoSqL数据库P肯定要有,我们只能在一致性和可用性中进行选择,没有Nosql数据库能同时保证三点。(==>AP 或者 CP)

    我觉得A:Availability 也很重要 要我选择 我会选择AP优先于CP 但是也要看具体的需求场景

    回到问题

    ureka和Zookeeper就是CAP定理中的实现,Eureka(保证AP),Zookeeper(保证CP)。

    ureka的各个节点都是对等的,失去其中任何一个 不影响服务的AP

    Zookeeper是主从关系master-slave的,当主节点挂掉,需要选出来新的主节点。需要耗费时间,这期间A:Availability是不能保证的(这里有一个重要点 Zookeeper 的选举机制)

    总结:

    Zookeeper的设计理念就是分布式协调服务,保证数据(配置数据,状态数据)在多个服务系统之间保证一致性,这也不难看出Zookeeper是属于CP特性(Zookeeper的核心算法是Zab,保证分布式系统下,数据如何在多个服务之间保证数据同步)。Eureka是吸取Zookeeper问题的经验,先保证可用性。

  • 相关阅读:
    P3822 [NOI2017]整数
    P4630 [APIO2018] Duathlon 铁人两项
    P3230 [HNOI2013]比赛
    P2570 [ZJOI2010]贪吃的老鼠
    P4576 [CQOI2013]棋盘游戏
    P3256 [JLOI2013]赛车
    P3297 [SDOI2013]逃考
    CF487E Tourists
    设置一个双色球脚本(2)并带颜色输出
    设置一个双色球脚本
  • 原文地址:https://www.cnblogs.com/Jordandan/p/12198004.html
Copyright © 2020-2023  润新知