• zookeeper有几种部署模式? zookeeper 怎么保证主从节点的状态同步?


    一、zookeeper的三种部署模式

    Zookeeper 有三种部署模式分别是单机模式、伪集群模式、集群模式。这三种模式在不同的场景下使用:

    单机部署:一般用来检验 Zookeeper 基础功能,熟悉 Zookeeper 各种基础操作及特性。
    伪集群部署:在单台机器上部署集群,方便在本地验证集群模式下的各种功能。
    集群部署:一般在生产环境使用,具备一致性、分区容错性。

    二、zookeeper怎么保证主从节点的状态同步

    Zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。

    恢复模式:当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和leader的状态同步以后,恢复模式就结束了。

    因此,选主得到的leader保证了同步状态的进行,状态同步又保证了leader和Server具有相同的系统状态,当leader失去主权后可以在其他follower中选主新的leader。

    三、集群中为什么有主节点

    在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的机器可以共享这个结果,这样可以大大减少重复计算,提高性能,于是就需要进行 leader 选举。

    四、集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还可以使用吗?

    zookeeper具有过半存活即可用的特性。可以继续使用,单数服务器只要没超过一半的服务器宕机就可以继续使用。

    1.成功选举Leader必须要备节点过半,2n和2n-1(n>1)的容错数是一样的都是 n-1  。

    2.集群服务偶数节点也是可以的,偶数容错数和奇数一样,所以没必要浪费一个节点资源,一般为奇数个。

    参考链接:zookeeper的部署模式及部署实战

  • 相关阅读:
    cors
    js 离开页面
    移动端 touch
    eclipse
    java获取classpath以外的路径
    Javascript类型转换的规则
    myeclipse开发安装C++
    MyEclipse10中配置开发Python所需要的PyDev 绝对靠谱 不忽悠!
    POI生成EXCEL,公式不自动执行的有关问题
    POI中设置Excel单元格格式样式(居中,字体,边框等)
  • 原文地址:https://www.cnblogs.com/jxxblogs/p/14906133.html
Copyright © 2020-2023  润新知