java – Apache Curator分布式锁
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Apache Curator分布式锁,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1304字,纯文字阅读大概需要2分钟。
内容图文
![java – Apache Curator分布式锁](/upload/InfoBanner/zyjiaocheng/756/a7b54ec5de714b8f861d718135629519.jpg)
我知道Apache Curator可以执行分布式锁定功能,该功能构建在zookeeper的顶部.根据Apache Curator官方网站上发布的文档,它看起来很容易使用.例如:
RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
CuratorFramework client = CuratorFrameworkFactory.newClient("host:ip",retryPolicy);
client.start();
InterProcessSemaphoreMutex lock = new InterProcessSemaphoreMutex(client, path);
if(lock.acquire(10, TimeUnit.SECONDS))
{
try { /*do something*/ }
finally { lock.release(); }
}
但是“InterProcessSemaphoreMutex”的第二个参数“path”是什么意思呢?它意味着基于API的“锁定路径”但究竟是什么呢?谁能举个例子?
如果我有数以百万计的锁,我是否必须创造数百万的“锁定之路”? zookeeper集群的最大锁(znode)数量是否有限制?或者,当进程释放时,我们可以删除此锁吗?
解决方法:
ZooKeeper呈现了看起来像分布式文件系统的东西.对于任何ZooKeeper操作,配方等,您将“znodes”写入特定路径并监视更改.见这里:http://zookeeper.apache.org/doc/trunk/zookeeperOver.html#Simple+API(关于znodes).
对于策展人食谱,它需要知道您想要用来执行配方的基本路径.对于InterProcessSemaphoreMutex,路径是每个参与者应该使用的路径.即进程1和进程2都希望同时争用锁.因此,它们都使用相同的路径分配InterProcessSemaphoreMutex实例,例如“/ my / lock”.将路径视为锁定标识符.在同一个ZooKeeper集群中,您可以使用不同的路径进行多次锁定.
希望这会有所帮助(免责声明:我是策展人的主要作者).
内容总结
以上是互联网集市为您收集整理的java – Apache Curator分布式锁全部内容,希望文章能够帮你解决java – Apache Curator分布式锁所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。