Distributed semaphores via Apache ZooKeeper