首页 > 其他 > 详细

redis之红锁(Redlock)

时间:2019-04-20 10:30:16      阅读:801      评论:0      收藏:0      [点我收藏+]

关于分布式锁,一般有三种选择,

1、redis 

2、zk

3、DB锁(悲观锁、乐观锁)

 

其中用的最多的应该是redis。

redis常用的方式有单节点、主从模式、哨兵模式、集群模式。

单节点在生产环境基本上不会使用,因为不能达到高可用,且连RDB或AOF备份都只能放在master上,所以基本上不会使用。

另外几种模式都无法避免两个问题:

1、异步数据丢失。

2、脑裂问题。

 

所以redis官方针对这种情况提出了红锁(Redlock)的概念。

假设有5个redis节点,这些节点之间既没有主从,也没有集群关系。客户端用相同的key和随机值在5个节点上请求锁,请求锁的超时时间应小于锁自动释放时间。当在3个(超过半数)redis上请求到锁的时候,才算是真正获取到了锁。如果没有获取到锁,则把部分已锁的redis释放掉。

 

附上官方Redlock链接地址:https://redis.io/topics/distlock

 

redis之红锁(Redlock)

原文:https://www.cnblogs.com/jylsgup/p/10739649.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!