1
我想要做类似于这篇文章中描述的东西 http://vunvulearadu.blogspot.co.uk/2015/03/activeactive-mechanism-over-azure.html当我的一个实例从主服务器获取服务总线消息时,它会将一个项目添加到redis缓存中。然后,如果另一个实例正在处理副本上的消息副本,它可以首先检查该消息是否已被处理,如果是,则忽略它。是否有可能阻止两个进程写入相同的缓存项目?
这个问题,在我看来,如果两个实例试图同时处理消息(一个来自主要,一个来自次要),那么它们都可能从缓存中读取并且什么也没找到,然后写入缓存与此同时。所以我的问题是,如果他们同时写入缓存会发生什么。理想情况下,我希望一个失败,以便它可以假定另一个实例正在处理该消息。那可能吗?
辉煌。谢谢。 – Ian1971
我应该看看Redlock吗? – Ian1971
如果我对你的问题的理解是正确的,那么你不需要。 Redlock提供了一种以可靠方式获取锁的方法,其中包含多个Redis实例。它提供高可用性。它不是为了将数据存储在缓存中而设计的。 –