java - Java中的分布式计数信号量
问题描述
我正在寻找一个分布式信号量实现(使用postgres
/zookeeper
作为存储),它类似于java.util.concurrent.Semaphore
将维护一组许可的概念,这些许可将被使用acquire()
和释放,release()
允许我限制对某些资源的访问或同步某些执行。唯一的区别是这个信号量应该允许我跨多个 jvm 执行所有这些操作。
有人可以指出我是否在java中有任何这样的实现或任何实现相同的参考算法?
解决方案
对于 zookeeper,您可以使用提供共享信号抽象的apache Curator库。
在 postgres 中,您可能会考虑为此使用咨询锁,并在此基础上实现一种应用类型的库。
推荐阅读
- javascript - “使用香草 JS 的图像滑块”不起作用。调试时,我得到“无法读取未定义的类列表”的错误
- linux - 创建从 SQL 到 Linux cent os 的链接服务器
- ffmpeg - 如果在视频后期捕获,ffmpeg 仍然会失败
- c# - 为什么会在 C# 类库中出现“无法加载文件或程序集..”
- c++ - 数组和函数
- arrays - 交换排序C数组中的最后一个元素问题
- ruby-on-rails - fastjsonapi 序列化程序错误 | NameError(未初始化的常量
) - selenium-webdriver - In protractor, how do I check if a table cell contains particular text?
- python - 如何避免在numpy中基于数组的函数内进行迭代?
- html - 与页面其余部分重叠的列表