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

      

    三方件库

    分布式锁使用方式:

      

  • 相关阅读:
    ubuntu12.04 死机 卡屏 画面冻结解决方案
    Install Firefox 20 in Ubuntu 13.04, Ubuntu 12.10, Ubuntu 12.04, Linux Mint 14 and Linux Mint 13 by PPA
    ListView1.SelectedItems.Clear()
    android studio 下载地址
    jquery.slider.js jquery幻灯片测试
    jquery.hovermenu.js
    jquery.tab.js选项卡效果
    适配 placeholder,jquery版
    jquery.autoscroll.js jquery自动滚动效果
    将 Google Earth 地图集成到自己的窗体上的 简单控件
  • 原文地址:https://www.cnblogs.com/clarino/p/13407462.html
Copyright © 2011-2022 走看看