Redis锁定以启用群集模式

时间:2017-09-27 05:09:03

标签: database redis locking cluster-computing distributed-computing

我已经阅读了redis standalone如何提供乐观锁定。我还在redis网站上遇到了Redlock算法,该算法可用于分布式锁定。

现在我不明白为什么我们需要Redis中的分布式锁定(启用集群模式)。

在启用分布式模式下,我们最多可以有15个分片,每个分片都有不重叠的记录。由于没有共享数据,分布式锁的需求是什么?

不会乐观锁定每个共享的伎俩吗?一个原因可能是多键操作,但除此之外我无法想到任何事情。

我的理解是否正确?

1 个答案:

答案 0 :(得分:0)

redis中的分布式锁通常用于锁定分布式应用程序,而不是redis中的数据。例如 - 购物应用程序具有“付费”按钮,处理该事务可能需要几秒钟,在此期间用户可能多次点击该按钮。

这些REST调用中的每一个都可能会转到其他Web服务器。你如何可靠地防止多个账单?当然还有redis锁!

但是如果您使用单个节点/分片锁定,则可能会在此确切的时间窗口中使此节点失败,从而导致出现拙劣或重复的事务。使用分布式锁定a-la RedLock算法,确保即使单个节点的故障也会使锁定保持一致状态。