导图社区 分布式锁实现方式
分布式锁实现方式的思维导图,包括数据库、实现方式、优点、缺点、应用场景、Redis缓存等内容,内容全面,逻辑清晰。
自媒体各种图片尺寸,主要包括:微信公众号、视频号/抖音、微博、小红书四部分内容。希望对你有所帮助!
职能型组织结构思维导图,包括:信息、简介、结构介绍、主要特点、结构缺点、适用性应用。希望对你有所帮助!
药店2.0时代思维导图,主要内容有:中国药店创新趋势报告、我国药店、我国药店行业、我国药店。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
分布式锁实现方式
数据库
实现方式
创建一张锁表,对临界资源做唯一性约束;
要锁住某资源时就增加一条记录,释放铁时删除记录
优点
容易理解
缺点
易出现单点故障问题、死锁问题
实现复杂
性能低
可靠性低
应用场景
适用于并发量低、性能要求低的场景
Redis缓存
通过函数setnx(key,value)实现,key表示锁id,value为当前时间+超时时间;
setnx返回1则表示获得key所代表的锁,返回0则表示获取失败
性能高
可以跨集群部署,无单点故障问题
易于实现
锁失效时间的控制不稳定
可靠性不如ZooKeeper
不易理解
适用于高并发、对性能要求高的场景
ZooKeeper
在对应的持久节点shared_lock的目录下为每个进程创建一个临时顺序节点,每个节
点确定的编号是否最小,若最小,则获得锁;否则等待更小编号节点释放锁
无单点故障、不可重入、死锁问题
几乎解决了数据库锁和缓存式锁的不足
可靠性高
性能没有缓存式分布式锁好
难以理解
ZooKeeper适用于大部分分布式场景,但是不适用于对性能要求极高的场景