理论篇: Curator是Netflix开源的一套ZooKeeper客户端框架. Netflix在使用ZooKeeper的过程中发现ZooKeeper自带的客户端太底层, 应用方在使用的时候需要自己处理很多事情, 于是在它的基础上包装了一下, 提供了一套更好用的客户端框架. Netflix在用Zoo ...
分类:
其他好文 时间:
2019-03-01 12:53:14
阅读次数:
213
一、新建普通maven项目 1、首先,新建3个普通maven商城项目,模拟以往常见的Java单体应用开发,mall-interface是存放接口和公共代码部分,order-service-consumer和user-service-provider的pom依赖于mall-interface。 2、在 ...
分类:
其他好文 时间:
2019-02-28 18:31:55
阅读次数:
199
简介 Curator的NodeCache允许你监听一个节点,当节点数据更改或者节点被删除的时候将会触发监听。 官方文档:http://curator.apache.org/curator-recipes/node-cache.html javaDoc:http://curator.apache.or ...
分类:
系统相关 时间:
2019-01-17 01:17:08
阅读次数:
254
简介 curator可以监听路径下子节点的变更操作,如创建节点,删除节点 官方文档:http://curator.apache.org/curator-recipes/path-cache.html javaDoc:http://curator.apache.org/apidocs/org/apac ...
分类:
系统相关 时间:
2019-01-17 01:14:02
阅读次数:
250
简介 跟Java并信号量没有什么不同,curator实现的信号量也是基于令牌桶算法,当一个线程要执行的时候就去桶里面获取令牌,如果有足够的令牌那么我就执行如果没有那么我就阻塞,当线程执行完毕也要将令牌放回桶里。 官方文档:http://curator.apache.org/curator-recip ...
分类:
其他好文 时间:
2019-01-16 01:02:04
阅读次数:
198
简介 curator实现了一个类似容器的锁InterProcessMultiLock,它可以把多个锁包含起来像一个锁一样进行操作,简单来说就是对多个锁进行一组操作。当acquire的时候就获得多个锁资源,否则失败。当release时候释放所有锁资源,不过如果其中一把锁释放失败将会被忽略。 官方文档: ...
分类:
其他好文 时间:
2019-01-16 01:00:56
阅读次数:
254
简介 前面我们看到LeaderLatch对于选举的实现:https://www.cnblogs.com/lay2017/p/10264300.html 节点在加入选举以后,除非程序结束或者close()退出选举,否则加点自加入选举以后将持续持有或者保持对主节点的竞争。 recipes的另外一个实现L ...
分类:
其他好文 时间:
2019-01-16 00:19:05
阅读次数:
249
简介 recipes的InterProcessSemaphoreMutex是一种不可重入的互斥锁,也就意味着即使是同一个线程也无法在持有锁的情况下再次获得锁,所以需要注意,不可重入的锁很容易在一些情况导致死锁,比如你写了一个递归。 官方文档:http://curator.apache.org/cur ...
分类:
其他好文 时间:
2019-01-16 00:16:49
阅读次数:
385
简介 Java在单机环境实现了BlockQueue阻塞队列,与之类似的curator实现了分布式场景下的阻塞队列,SimpleDistributedQueue 官方文档:http://curator.apache.org/curator-recipes/simple-distributed-queu ...
分类:
其他好文 时间:
2019-01-14 00:22:34
阅读次数:
157
简介 当两个进程在执行任务的时候,A调用了B,A需要等待B完成以后的通知,我们可以使用curator的屏障功能来实现。 官方文档:http://curator.apache.org/curator-recipes/barrier.html JavaDoc:http://curator.apache. ...
分类:
其他好文 时间:
2019-01-13 23:31:27
阅读次数:
303