Zookeeper
通过创建临时节点和利用监听事件实现分布式锁,Redis使用setnx命令创建相同的key,因为Redis的key保证唯一,先创建的先获取锁。
不断的去尝试,去获取锁,比较耗性能
Zookeeper
实现分布式锁,即使获取不到锁,创建对锁的监听即可,不需要不断去尝试获取 锁,性能开销小
Redis
实现分布式锁,如果客户端获取到锁的时候遇到bug或挂了,还需要等到超时时间过了以后才能重新获取锁
Zookeeper
实现分布式锁,创建的是临时节点,客户端挂了,节点自然删除,也就达到了自动释放锁的效果