2016-02-01 170 views
0

最近我開始學習Redis,並且已經能夠完成從32位Windows學習方面的所有工作。我是.net開發人員,並使用Redis在Web API設置中使用ServiceStack client進行緩存。我已經能夠成功運行由4個主服務器和4個從服務器組成的Redis集羣,並且想知道如何與ServiceStack客戶端一起完成這項工作。Redis集羣就緒客戶端

我主要擔心的是,如果我連接到客戶端的主服務器出現故障,那麼客戶端如何自動連接到接管的其他可用從服務器,因爲該從服務器的端口將會不同。因此,故障轉移在Redis級別工作,但客戶端如何處理它?

我使用Redis命令行界面重新創建了上述場景,但是當我將主控制器關閉時,界面剛停止響應,因爲任何事情都只是在黑洞中進行。所以,根據我的經驗,cli不會自動處理作爲客戶端的故障轉移。

我已經開始學習StackExchange's client給Redis,但仍然有同樣的問題。

我使用微軟給出的學習目的在Github上提供的Redis發行版(對不起,無法提供鏈接,因爲我是新手,沒有足夠的信譽點)。

回答

0

Redis Sentinel是額外的Redis進程,用於監視Redis主/從的運行狀況,並在檢測到主實例關閉時負責執行自動故障切換。 Redis Config project提供了一種快速設置流行的Redis Sentinel配置的方法。

ServiceStack.Redis Client supports Redis Sentinel並實現了Recommended client Strategy,它使故障在故障轉移後自動恢復,方法是讓其中一個Sentinels連接到下一個可用地址,然後使用其中一個可用實例恢復操作。

您可以瞭解更多有關Redis Sentinel in the official Documentation的信息。

+0

感謝mythz的回答。可能是因爲我目前的理解是綠色的,但是因爲我打算使用Redis Cluster,所以我相信我不應該使用Redis Sentinel安裝程序。我確實希望利用我們在Redis Cluster中開箱即用的自動分片和複製功能。如果我的理解錯了,請原諒我。我使用鏈接來讀取羣集與哨兵:https://fnordig.de/2015/06/01/redis-sentinel-and-redis-cluster/ – Tux

+0

@Tux如果你需要分片,你會想使用Redis集羣,Redis Sentinel提供監視,自動故障轉移並使用已經內置到Redis中的複製。 ServiceStack不支持集羣,因此您需要使用StackExchange.Redis。 – mythz

+0

@Tux還指出,ServiceStack.Redis是一個商業支持的產品,可免費使用(參見[free-quotas](https://servicestack.net/download#free-quotas))。 – thepirat000