1
我想要做類似於這篇文章中描述的東西 http://vunvulearadu.blogspot.co.uk/2015/03/activeactive-mechanism-over-azure.html當我的一個實例從主服務器獲取服務總線消息時,它會將一個項目添加到redis緩存中。然後,如果另一個實例正在處理副本上的消息副本,它可以首先檢查該消息是否已被處理,如果是,則忽略它。是否有可能阻止兩個進程寫入相同的緩存項目?
這個問題,在我看來,如果兩個實例試圖同時處理消息(一個來自主要,一個來自次要),那麼它們都可能從緩存中讀取並且什麼也沒找到,然後寫入緩存與此同時。所以我的問題是,如果他們同時寫入緩存會發生什麼。理想情況下,我希望一個失敗,以便它可以假定另一個實例正在處理該消息。那可能嗎?
輝煌。謝謝。 – Ian1971
我應該看看Redlock嗎? – Ian1971
如果我對你的問題的理解是正確的,那麼你不需要。 Redlock提供了一種以可靠方式獲取鎖的方法,其中包含多個Redis實例。它提供高可用性。它不是爲了將數據存儲在緩存中而設計的。 –