zoukankan      html  css  js  c++  java
  • 关于Zookeeper

    选举机制:

      1. 集群中半数以上节点存活,集群可用,即zookeeper适合安装奇数台服务器

      2. zookeeper在配置文件中没有主从进程的概念,但是工作时,会通过选举选出来一个Leader和其它的Follower,内部选举机制临时产生,不固定(根据节点启动的先后顺序和myid中的值的大小)

      3. 栗子:

        三台节点,id为1-3,顺序启动

        1启动之后,由于只有一台服务器,选举处于looking状态

        2启动之后,与1通信,id为2胜出,1 和 2 都投给自己一票和给id大的一票,即现在2有两票

        3启动之后,由于只有三台机器,半数已达到,即使3  的id大于2,但是此时Leader仍是2,而非3节点

    Zookeeper的常用命令:

      ls / : 查看当前znode中所包含的内容

      ls2 /  : 查看当前节点详细数据

      create -s/-e :创建 -s:含有序列节点  -e:临时节点

      get /节点名 :获得节点的值

      rmr : 递归删除节点

      set:设置节点具体的值

      stat:查看节点的状态

      delete:删除节点

    监听器原理:

      1. 创建一个main线程

      2. 在main线程中创建zookeeper客户端,这时就会创建两个线程:connect(网络连接通信);listener(监听)

      3. 通过connect线程将注册的监听事件发送给zookeeper

      4. 在zookeeper的注册监听器列表中将注册的监听事件添加到列表中

      5. zookeeper监听到数据变化,将信息发送给listener线程

      6. listener线程内部调用了process方法

    常见监听:

      - 节点数据的变化

      -    子节点增减的变化

  • 相关阅读:
    【Dart学习】-- Dart之匿名方法 & 回调函数 & 闭包
    【Dart学习】-- Dart之异常处理
    【Dart学习】-- Dart之操作符
    【Dart学习】-- Dart之注释
    【dart学习】-- Dart之元数据
    【Dart学习】-- Dart之泛型
    利用Aspose文档转图片
    结合仓库设计MVC控制器
    分享一个点赞超过100的漂亮ASP.NET MVC蓝色界面框架
    开发日记:接口开发设计
  • 原文地址:https://www.cnblogs.com/joey-413/p/14100137.html
Copyright © 2011-2022 走看看