解决主从架构的redis分布式锁主节点宕机锁丢失的问题

解决主从架构的redis分布式锁主节点宕机锁丢失的问题

总结:
问题:
比如某个主redis节点A加锁成功之后宕机了,导致锁丢失,然后另一个redis从节点B发生主从切换,接着节点B又再次加锁成功,这就会产生多个节点加锁成功,出现问题。

解决:
使用Redlock解决。

Redlock思想:
使用N个完全独立,没有主从关系的主redis节点,保证他们大多数情况下不会宕机。
然后对每个主redis节点进行加锁,只有超过半数,也就是(N/2 + 1)的主redis节点加锁成功,才算成功,否则一律算失败。
失败的话,还是会到每个主redis节点进行释放锁,不管之前有没有加锁成功。

猜你喜欢

转载自blog.csdn.net/weixin_43871678/article/details/115177034