简介 在分布式计算中,主节点选举是为了把某个进程作为主节点来控制其它节点的过程.在选举结束之前,我们不知道哪个节点会成为主节点.curator对于主节点选举有两种实现方式,本文示例演示Latch的实现示例. 官方文档:http://curator.apache.org/curator-recipes/leader-latch.html javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/le…
简介 前面我们看到LeaderLatch对于选举的实现:https://www.cnblogs.com/lay2017/p/10264300.html 节点在加入选举以后,除非程序结束或者close()退出选举,否则加点自加入选举以后将持续持有或者保持对主节点的竞争. recipes的另外一个实现Leader Election则不同,被选为主节点的节点任务如果执行完就会放弃主节点,然后由剩下的节点进行主节点竞争.如果你希望已经执行完的主节点再次加入主节点选举那么你需要调用autoRequeue(…
简介 curator实现了先入先出的分布式消息队列,它采用的是zookeeper的持久化有序节点. 官方文档:http://curator.apache.org/curator-recipes/distributed-queue.html javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/queue/DistributedIdQueue.html 代码示例 import org.apach…
简介 curator的TreeCache允许对某个路径的数据和路径变更以及其下所有子孙节点的数据和路径变更进行监听. 官方文档:http://curator.apache.org/curator-recipes/tree-cache.html javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/cache/TreeCache.html 代码示例 import org.apache.curat…
简介 Curator的NodeCache允许你监听一个节点,当节点数据更改或者节点被删除的时候将会触发监听. 官方文档:http://curator.apache.org/curator-recipes/node-cache.html javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/cache/NodeCache.html 代码示例 import org.apache.curator.f…
简介 curator可以监听路径下子节点的变更操作,如创建节点,删除节点 官方文档:http://curator.apache.org/curator-recipes/path-cache.html javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/cache/PathChildrenCache.html 代码示例 import org.apache.curator.framework.C…
简介 curator实现了类似DelayQueue的分布式延迟队列 官方文档:http://curator.apache.org/curator-recipes/distributed-delay-queue.html javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/queue/DistributedDelayQueue.html 代码示例 import org.apache.curat…
简介 官方文档:http://curator.apache.org/curator-recipes/distributed-priority-queue.html javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/queue/DistributedPriorityQueue.html 代码示例 import org.apache.curator.framework.CuratorFrame…
简介 curator实现了一种分布式ID队列,也是遵循FIFO原则,比普通队列新增的一个点是ID队列可以根据ID对队列元素进行操作,比如移除该元素. 官方文档:http://curator.apache.org/curator-recipes/distributed-id-queue.html javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/queue/DistributedIdQueu…
简介 和Java的AtomicLong没有太大的不同DistributedAtomicLong旨在分布式场景中维护一个Long类型的数据,你可以像普通单机环境一样来使用它. 官方文档:http://curator.apache.org/curator-recipes/distributed-atomic-long.html javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/atomic/D…