zoukankan      html  css  js  c++  java
  • 【zookeeper】

    功能:

    是一个分布式协调服务,可用于服务发现,分布式锁,分布式领导选举,配置管理等。

    Zookeeper 提供了一个类似于Linux 文件系统的树形结构(可认为是轻量级的内存文件系统,但只适合存少量信息(纯内存数据),完全不适合存储大量文件或者大文件),同时提供了对于每个节点的监控与通知机制。

    角色划分:
    Leader:支持读写,唯一支持写的节点

      它会发起并维护与各Follwer及Observer 间的心跳。所有的写操作必须要通过Leader 完成再由Leader 将写操作广播给其它服务器。只要有超过半数节点(不包括observeer 节点)写入成功,该写请求就会被提交(类 2PC 协议)。

     Follower:只读,支持选举

      存在多个Follower,它会响应Leader 的心跳

      Follower 可直接处理并返回客户端的读请求,同时会将写请求转发给Leader 处理;

      负责在Leader 处理写请求时对请求进行投票。

    Observer:只读,无选举权

      Zookeeper 需保证高可用和强一致性,为了支持更多的客户端,需要增加更多Server; Server增多,投票阶段延迟增大,影响性能;引入Observer,Observer 不参与投票; Observers 接受客户端的连接,并将写请求转发给leader 节点 加入更多Observer 节点,提高伸缩性,同时不影响吞吐率。

    ZAB协议:

    投票机制:

    Zookeeper工作原理:

    zNode

      zNode存储数据量较小:通常不大于1M

      有四种形式的目录节点

        1. PERSISTENT:持久的节点。

        2. EPHEMERAL:暂时的节点。

        3. PERSISTENT_SEQUENTIAL:持久化顺序编号目录节点。

        4. EPHEMERAL_SEQUENTIAL:暂时化顺序编号目录节点。

      

    三方件库

    分布式锁使用方式:

      

  • 相关阅读:
    如何把pdf文档转化为word
    Win7系统中wmiprvse.exe占用CPU高如何解决
    Visual studio加载项目时报错 尚未配置为Web项目XXXX指定的本地IIS,需要配置虚拟目录。解决办法。
    SQL Server新增用户并控制访问权限设置。
    vs2013 中已经添加了引用,编译还是提示没有添加引用
    vue-cli中引入jquery方法
    vue-vuex安装
    vue2.0项目结构和打包发布
    从(0)新开始vue2.0【安装】
    js判断网络连接情况:navigator.onLine
  • 原文地址:https://www.cnblogs.com/clarino/p/13407462.html
Copyright © 2011-2022 走看看