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;
          }
        }
      }
    }

  • 相关阅读:
    泛海精灵软件预发布统计报告 & 反馈
    【scrum】2.23
    VS2010中C#添加图片(资源)
    用XML存储程序的配置
    scrum 2.28
    【Scrum】2.24
    《人月神话》读书心得
    微软R&D喜欢什么人才
    “电脑族”应多做下肢运动
    ASCII表
  • 原文地址:https://www.cnblogs.com/caipc/p/6103915.html
Copyright © 2011-2022 走看看