2017-08-22 40 views
0

我想有一個主站和一個從站的高可用性解決方案,以便當主站發生故障時,從站將自動接受連接。 我不關心數據持久性和複製,因爲這是一個緩存解決方案。 我寧願沒有複製,因爲開銷。 我無法使用Sentinel,因爲我在Windows和Redis v3.2上使用不支持Sentinel的StackExchange.Redis驅動程序。 我不想做羣集,因爲它需要6個節點,這是太多的維護,我沒有6個服務器。 有沒有可能有類似的東西,而無需手動切換主從? 謝謝。Redis主從設置與自動故障轉移

回答

2

這正是Redis Sentinel的用途。如果你真的無法使用它,那麼你可以創建一個小型工作人員來監視你的redis實例,並在主人離開時促使奴隸掌握,並在返回時做相反的事情。監測應該很容易。 Redis甚至作爲ping command

它看起來像StackExchange.Redis已經可以監視多個實例,並嘗試選擇正確的主,所以你的應用程序應該檢測到這一點,併發送命令給當前主。

這裏舉例:https://stackexchange.github.io/StackExchange.Redis/Configuration#automatic-and-manual-configuration

否則,你將需要爲你的顯示器工作人員一起分享你的應用程序(S)配置變化提供了一種方法。這可以通過共享文件或API來處理。您必須在連接/重新連接時檢查應用程序中的這些更改。

最後,您的監視器工作人員將提供Redis Sentinel提供的子集。你的努力可能會更好地花在讓它在Windows上運行,這個配置和存儲庫建議是可能的:https://github.com/ServiceStack/redis-config/blob/master/sentinel3/windows/start-all.cmd