Java 中的分布式计数信号量
Distributed counting semaphore in Java
我正在寻找类似于 java.util.concurrent.Semaphore
概念的分布式信号量实现(使用 postgres
/ zookeeper
作为存储),它将维护一组许可使用 acquire()
获取并使用 release()
发布,允许我限制对某些资源的访问或同步某些执行。唯一的区别是这个信号量应该允许我跨多个 jvm 执行所有这些操作。
如果 java 中有任何此类实现或任何实现相同的参考算法,有人可以指点我吗?
对于 zookeeper,您可以使用 apache Curator 提供共享信号量抽象的库。
在 postgres 中,您可能会考虑为此使用咨询锁,并在此基础上实现一种应用类库。
我正在寻找类似于 java.util.concurrent.Semaphore
概念的分布式信号量实现(使用 postgres
/ zookeeper
作为存储),它将维护一组许可使用 acquire()
获取并使用 release()
发布,允许我限制对某些资源的访问或同步某些执行。唯一的区别是这个信号量应该允许我跨多个 jvm 执行所有这些操作。
如果 java 中有任何此类实现或任何实现相同的参考算法,有人可以指点我吗?
对于 zookeeper,您可以使用 apache Curator 提供共享信号量抽象的库。
在 postgres 中,您可能会考虑为此使用咨询锁,并在此基础上实现一种应用类库。