志宇-分布式锁

1、数据库实现分布式锁
优点: 实现简单
缺点: 对数据库造成压力
通过主键,往数据库中插入数据(主键不能重复),插入成功则获得锁,插入失败则没有获得锁,方法锁将插入的数据删除;
2、redis实现分布式锁
优点:效率高
缺点: 有缓存失效问题

3、zookeeper实现分布式锁
优点:可靠
缺点: 没有redis的效率高
zookeeper中有四种节点
1、持久化节点(客户端断开连接后该节点依然存在)
2、持久化有序节点(客户端断开连接后该节点依然存在,只是zookeeper会对该节点名称进行有序编号)
3、临时节点(客户端断开连接后该节点不存在)
4、临时有序节点(客户端断开连接后该节点不存在,只是zookeeper会对该节点名称进行有序编号)
临时节点 控制分布式锁
创建节点成功则获得锁,释放锁删除节点

临时有序节点 控制分布式锁
在尝试获得锁的时候创建节点,创建相同的节点会有顺序的排放,zookeeper有监听节点变化和删除的功能,始终是最小值的节点获得锁。

猜你喜欢

转载自blog.csdn.net/fenkanghong9779/article/details/104068514
今日推荐