min*_*ion 7 distributed-computing redis distributed-lock spring-data-redis redis-cluster
我有一个包含3个主节点的Redis集群,每个主节点都有相应的从节点。我想获取集群上的锁来执行一些写操作,然后释放锁。
据我所知,要连接到集群,我们通常连接到集群中的一个节点,并在该节点上执行所有操作,该节点又处理重定向到集群中其他节点的操作。
Redis集群是否可以获取锁?[PS我正在使用Redisson客户端]从Redisson客户端中Multilock和redlock( https://github.com/redisson/redisson/wiki/8.-Distributed-locks-and-synchronizers )下的示例中,它们正在获取锁在各个节点上。
Jedis 似乎还支持集群锁定(https://github.com/kaidul/jedis-lock)。
PS:我已经广泛阅读了这方面的内容,但我无法找到有关锁定集群的明确答案。非常感谢一些帮助。
我找到了上面问题的解决方案。
只要我们使用相同的密钥在所有客户端节点上获取锁,所有获取锁的尝试都将前往 Redis 集群上的同一节点。所以你可以使用 Redisson 的简单 Rlock。
请参阅对此问题的评论: https ://github.com/leandromoreira/redlock-rb/issues/63