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

  • 相关阅读:
    单独的数字
    设计模式之原型模式
    设计模式之策略模式
    设计模式之单例模式
    泛型入门
    iOS中关于.pch的新建与配置问题
    iOS开发中遇到的头文件找不到的问题解决办法
    iOS中NSJSONSerialization的使用 小记
    6.线程、进程、协程基础篇
    5.装饰器进阶篇
  • 原文地址:https://www.cnblogs.com/caipc/p/6103915.html
Copyright © 2011-2022 走看看