使用zookeeper实现分布式锁:
利用zk的临时节点和wacth事件通知(zk的临时节点唯一,连接断开,就会删除掉临时节点。)
在集群的情况下,比如tomcat1、tomcat2...当tomcat1创建一个临时节点/path,在这个节点没有被删除的情况下,Tomcat2是无法创建/path节点的。
当tomcat1创建的节点被删除掉,释放锁。那么zk通过事件通知tomcat2,然后tomcat2继续创建/path节点,获取锁。
使用zookeeper实现分布式锁:
利用zk的临时节点和wacth事件通知(zk的临时节点唯一,连接断开,就会删除掉临时节点。)
在集群的情况下,比如tomcat1、tomcat2...当tomcat1创建一个临时节点/path,在这个节点没有被删除的情况下,Tomcat2是无法创建/path节点的。
当tomcat1创建的节点被删除掉,释放锁。那么zk通过事件通知tomcat2,然后tomcat2继续创建/path节点,获取锁。