1.通过数据库实现
创建一张lock表,利用唯一约束来实现,business_id,business_type,上建立唯一性约束,
2.zookeeper
主要利用的是临时有序节点(会生成有序的id),先到先得,还有watch机制监控,节点是失效,自动跳到下一节点。
3.redis
setNx:它只会在key 不存在的情况下为key设置值,并且会返回0,1,如果key 存在,则返回0,
否则返回1
都是利用写的机制,来保证唯一。
1.通过数据库实现
创建一张lock表,利用唯一约束来实现,business_id,business_type,上建立唯一性约束,
2.zookeeper
主要利用的是临时有序节点(会生成有序的id),先到先得,还有watch机制监控,节点是失效,自动跳到下一节点。
3.redis
setNx:它只会在key 不存在的情况下为key设置值,并且会返回0,1,如果key 存在,则返回0,
否则返回1
都是利用写的机制,来保证唯一。
本文标题:分布式锁的三种实现方式
本文链接:https://www.haomeiwen.com/subject/qbvxoqtx.html
网友评论