Zookeeper通过创建临时节点和利用监听事件实现分布式锁,Redis使用setnx命令创建相同的key,因为Redis的key保证唯一,先创建的先获取锁。

不断的去尝试,去获取锁,比较耗性能

Zookeeper实现分布式锁,即使获取不到锁,创建对锁的监听即可,不需要不断去尝试获取 锁,性能开销小

Redis实现分布式锁,如果客户端获取到锁的时候遇到bug或挂了,还需要等到超时时间过了以后才能重新获取锁

Zookeeper实现分布式锁,创建的是临时节点,客户端挂了,节点自然删除,也就达到了自动释放锁的效果

Last modification:March 14, 2019
如果觉得这篇技术文章对你有用,请随意赞赏