`

Curator框架简单介绍和使用

    博客分类:
  • Java
阅读更多
Curator框架简单介绍和使用


什么是Curator?
  Curator发音“kyoor͝ˌātər:”,是ZooKeeper的keeper。
“Guava is to Java what Curator is to ZooKeeper”
                                 ---Patrick Hunt, ZooKeeper commiter
使用Curator
  • 获取一个连接
  • 如果你仅需要一个ZooKeeper连接管理和重试策略的包装,使用curator-framework的包就行。Curator 连接实例(CuratorFramework)可从CuratorFrameworkFactory得到。一个
    CuratorFramework对应ZooKeeper集群,代码看起来像这样:
    RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3)
    CuratorFramework client = CuratorFrameworkFactory.newClient(zookeeperConnectionString, retryPolicy);
    client.start();

    client必须启动,当不再使用时关闭
  • 直接调用ZooKeeper
  • 一旦有了 CuratorFramework实例,你可以直接调用ZooKeeper
    client.create().forPath("/my/path", myData)

    这样一来Curator就会管理ZooKeeper连接,并且当连接错误时会有重试操作。

    秘诀
  • 分布式锁
  • InterProcessMutex lock = new InterProcessMutex(client, lockPath);
    if ( lock.acquire(maxWait, waitUnit) ) 
    {
        try 
        {
            // do some work inside of the critical section here
        }
        finally
        {
            lock.release();
        }
    }

  • 领导选举
  • LeaderSelectorListener listener = new LeaderSelectorListenerAdapter()
    {
        public void takeLeadership(CuratorFramework client) throws Exception
        {
            // this callback will get called when you are the leader
            // do whatever leader work you need to and only exit
            // this method when you want to relinquish leadership
        }
    }
    
    LeaderSelector selector = new LeaderSelector(client, path, listener);
    selector.autoRequeue();  // not required, but this is behavior that you will probably expect
    selector.start();


    公共类ZKPaths
    静态的方法,操作ZooKeeper ZNode paths
  • getNodeFromPath : 给一个全路径,返回节点名称。例子  "/one/two/three" 返回 three
  • mkdirs:创建path里的所有节点。
  • getSortedChildren:返回有序seq的子集
  • makePath:合并path和node。

  • 代码例子:
    https://github.com/apache/curator/tree/master/curator-examples


    参考
    https://cwiki.apache.org/confluence/display/CURATOR/Tech+Notes

    http://curator.apache.org/index.html



    分享到:
    评论

    相关推荐

      项目加入zookeeper的依赖包(Curator框架)

      使用原生的zookeeper的依赖包,如果为了方便也可以使用Curator框架的包。

      浅谈Zookeeper开源客户端框架Curator

      主要介绍了浅谈Zookeeper开源客户端框架Curator的相关内容,具有一定参考价值,需要的朋友可以了解下。

      zk使用curator实现分布式锁

      zookeeper通过使用curator实现分布式锁来保证数据的一致性。 zookeeper通过使用curator实现分布式锁来保证数据的一致性。

      zookeeper 使用 Curator 示例监听、分布式锁

      zookeeper 使用 Curator 进行增、删、改、查、监听、分布式锁

      curator-client-4.3.0-API文档-中英对照版.zip

      赠送jar包:curator-client-4.3.0.jar; 赠送原API文档:curator-client-4.3.0-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

      zookeeper客户端curator操作示例

      zookeeper客户端curator操作示例

      zookeeper开源客户端Curator

      Curator是Netflix公司开源的一套ZooKeeper客户端框架,Curator解决了很多ZooKeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等,实现了Fluent风格的API接口,目前已经...

      curator-framework-2.6.0-API文档-中文版.zip

      赠送jar包:curator-framework-2.6.0.jar; 赠送原API文档:curator-framework-2.6.0-javadoc.jar; 赠送源代码:curator-framework-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

      curator-client-2.7.1-API文档-中文版.zip

      赠送jar包:curator-client-2.7.1.jar; 赠送原API文档:curator-client-2.7.1-javadoc.jar; 赠送源代码:curator-client-2.7.1-sources...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

      curator-framework-4.0.1-API文档-中英对照版.zip

      赠送jar包:curator-framework-4.0.1.jar; 赠送原API文档:curator-framework-4.0.1-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

      curator-recipes-2.6.0-API文档-中文版.zip

      赠送jar包:curator-recipes-2.6.0.jar; 赠送原API文档:curator-recipes-2.6.0-javadoc.jar; 赠送源代码:curator-recipes-2.6.0-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

      curator-client-4.0.1-API文档-中英对照版.zip

      赠送jar包:curator-client-4.0.1.jar; 赠送原API文档:curator-client-4.0.1-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

      curator-client-2.7.1-API文档-中英对照版.zip

      赠送jar包:curator-client-2.7.1.jar; 赠送原API文档:curator-client-2.7.1-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

      curator-client-2.6.0-API文档-中文版.zip

      赠送jar包:curator-client-2.6.0.jar; 赠送原API文档:curator-client-2.6.0-javadoc.jar; 赠送源代码:curator-client-2.6.0-sources...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

      curator zookeeper 3.4.6 2.9.1

      curator zookeeper 3.4.6 2.9.1

      Zookeeper客户端Curator Framework使用代码

      Zookeeper客户端Curator Framework示例代码,博客详解链接:https://blog.csdn.net/u010889616/article/details/80209629

      zk客户端curator2.11

      客户端是Curator Framework,是Apache的项目,它主要的功能是为ZK的客户端使用提供了高可用的封装。在Curator Framework基础上封装的curator-recipes,实现了很多经典场景。比如:集群管理(Leader选举)、共享锁、...

      Curator的JAR包

      Curator的JAR包,应用于Zookeeper集群协调组件开发

      curator-test单元测试zookeeper

      使用apache curator-test单元测试zookeeper

      curator-framework-4.3.0-API文档-中英对照版.zip

      赠送jar包:curator-framework-4.3.0.jar; 赠送原API文档:curator-framework-4.3.0-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    Global site tag (gtag.js) - Google Analytics