zoukankan      html  css  js  c++  java
  • Curator框架的使用

    Curator框架的目的是减少用户的复杂度,毕竟原生的Zookeeper难以使用。

    这里举一个使用例子。

    第一步:建立连接

    // 以下代码与192.168.1.101:2181建立了连接
    CuratorFramework client = CuratorFrameworkFactory.newClient("192.168.1.101:2181", new ExponentialBackoffRetry(1000, 3));
    client.start();

    这里的ExponentialBackoffRetry的含义是指数增长的重试间隔。根据这里的参数,第一次失败重试休息1000毫秒,第二次重试休息1000毫秒~3000毫秒,第三次失败重试休息1000毫秒~7000毫秒。这样指数增长。

    第二步:监听节点下的数据

    PathChildrenCache cache = new PathChildrenCache(client, "/test", true);
    cache.start();
    cache.getListenable().addListener(new MyListener(observer));

    这样就可以监听test节点下的所有节点了。

    第三步:实现事件处理

    实现事件处理,只需实现PathChildrenCacheListener接口即可,示例如下。

    public class MyListener implements PathChildrenCacheListener {
      @Override
      public void childEvent(CuratorFramework client, PathChildrenCacheEvent event) throws Exception {
        switch (event.getType()) {
          case CHILD_ADDED: {
            // 新的节点创建了
            ...
            break;
          }
          case CHILD_UPDATED: {
            // 节点数据更新了
            ...
            break;
          }
          case CHILD_REMOVED: {
            // 节点删掉了
            ...
            break;
          }
        }
      }
    }

  • 相关阅读:
    【转】python 面向对象(进阶篇)
    【转】Python 面向对象(初级篇)
    【转】MySQL— pymysql and SQLAlchemy
    【转】MySQL— 索引
    pycharm+pygame飞机大战
    python+Django创建购物网站(二)
    python语言系统学习(三)
    复习NLP-实战(九)----语言模型
    Linux常用命令--跟K8S相关
    Nginx-ingress-controller部署应用
  • 原文地址:https://www.cnblogs.com/caipc/p/6103915.html
Copyright © 2011-2022 走看看