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:暂时化顺序编号目录节点。

      

    三方件库

    分布式锁使用方式:

      

  • 相关阅读:
    通过Ajax的方式执行GP服务
    Arcgis for js之GP实现缓冲区计算
    sde用sql实现erase
    OL2中设置鼠标的样式
    OL2中重置地图DIV大小后地图的联动
    OL2中的多地图联动展示
    Codeforces Round #357 (Div. 2) Heap Operations
    POJ-1847 Tram
    【转】一些图论、网络流入门题总结、汇总
    POJ-2398 Toy Storage
  • 原文地址:https://www.cnblogs.com/clarino/p/13407462.html
Copyright © 2011-2022 走看看