zoukankan      html  css  js  c++  java
  • Apache Curator: Zookeeper客户端

    Apache Curator Framework

    url: http://curator.apache.org/curator-framework/

    The Curator Framework is a high-level API that greatly simplifies using ZooKeeper. It adds many features that build on ZooKeeper and handles the complexity of managing connections to the ZooKeeper cluster and retrying operations.

    Curator管理Zookeeper

    Curator的Maven依赖如下,一般直接使用curator-recipes就行了,如果需要自己封装一些底层些的功能的话,例如增加连接管理重试机制等,则可以引入curator-framework包。

    1. Client操作

    利用Curator提供的客户端API,可以完全实现上面原生客户端的功能。

    2. 监听器

    Curator提供了三种Watcher(Cache)来监听结点的变化:

    • Path Cache:监视一个路径下1)孩子结点的创建、2)删除,3)以及结点数据的更新。产生的事件会传递给注册的PathChildrenCacheListener。
    • Node Cache:监视一个结点的创建、更新、删除,并将结点的数据缓存在本地。
    • Tree Cache:Path Cache和Node Cache的“合体”,监视路径下的创建、更新、删除事件,并缓存路径下所有孩子结点的数据。

    Curator“菜谱”

    既然Maven包叫做curator-recipes,那说明Curator有它独特的“菜谱”

    • :包括共享锁、共享可重入锁、读写锁等。
    • 选举:Leader选举算法。
    • Barrier:阻止分布式计算直至某个条件被满足的“栅栏”,可以看做JDK Concurrent包中Barrier的分布式实现。
    • 缓存:前面提到过的三种Cache及监听机制。
    • 持久化结点:连接或Session终止后仍然在Zookeeper中存在的结点。
    • 队列:分布式队列、分布式优先级队列等。

    References

    http://blog.csdn.net/dc_726/article/details/46475633

  • 相关阅读:
    dede全功能手册V5.3
    php中一个完整表单处理实现代码
    dedecms织梦dede:sql标签,在dedecms中嵌套php语法等一些方法
    [二次开发]织梦二次开发增加一个或多个栏目的栏目内容
    java初学者笔记总结day13
    java初学者笔记总结day12
    java初学者笔记总结day11
    java初学者笔记总结day10
    java初学者笔记总结day9
    java初学者笔记总结day8
  • 原文地址:https://www.cnblogs.com/qingwen/p/5490943.html
Copyright © 2011-2022 走看看