分布式锁的实现方式
2024-09-05 18:36:42 0 举报
AI智能生成
分布式锁的实现方式
作者其他创作
大纲/内容
高延迟,数据库效率相对低
高频操作数据库,导致资源竞争引起性能下降
性能问题
数据库实现高可用成本高
数据库分布式环境带来众多问题,导致扩展性极差
扩展性问题(单点故障)
需要增加死锁检测成本
死锁问题
锁定顺序,严格定义锁的获取顺序增加实现难度
死锁风险
高可用复杂性
高性能复杂性
一致性和正确性的复杂性
实现复杂性
缺点
版本号
时间戳
乐观锁
排他锁
行级锁
悲观锁
通过数据库的序列号或自增字段来实现锁
基于序列号的锁
使用一张表来存储锁信息,表中记录锁的名字和持有锁的进程标识
基于表的锁
实现方式
数据库实现
SET 命令实现简单的锁(setnx方式)
Lua 脚本实现锁
Redlock 算法
redis实现
基于多实例的分布式锁(如Redlock)
基于Redisson实现
基于分布式协调服务(如Tair)
基于Consul实现
ZooKeeper
ETCD
其他实现方式
分布式锁的实现方式
0 条评论
回复 删除
下一页