- 数据库
根据数据库唯一索引,获取锁时插入数据记录,插入成功则获得锁,否则获取锁失败。执行完成后删除该条记录释放分布式锁。 - zookeeper
在固定的目录下(如:lock),每个线程(客户端)创建临时顺序节点;客户端查询所有节点列表,判断自己是否为最小序号节点,如果是则获取锁,否则则监听lock下的所有子节点并更信息(节点创建,删除,变更),获得变更信息后再次比较节点序号值,直到获取锁。(临时节点在session断开或者超时会自动删除) - redis
使用set命令设置key值,如果设置成功则返回true,获得锁,否则则返回false,获取锁失败。防止死锁(key一直存在)设置key过期时间以及执行完逻辑删除key。
-
Notifications
You must be signed in to change notification settings - Fork 0
shawn's blobs
shawnHsx/shawnhsx.github.io
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
shawn's blobs
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published