2014-03-05 115 views
1

我有一個redis主設置與2個奴隸和每個sentinal。Redis複製配置

如果主服務器關閉了2秒(+ sdown)並返回(-sdown),它將讀取最後一個快照,並且從服務器與主服務器重新同步。

問題在於最後一次保存和+ sdown之間可能有很多寫入。看起來,如果主服務器從+ sdown切換到-sdown並從不+ + odown(啓動故障切換),它應該能夠從一個從服務器同步。我的推理是複製流是連續的,當+ sdown發生時,奴隸最有可能更精確地反映主人狀態。

是否有一些配置,我可以做到這一點?我是否被迫依靠AOF或快照?

(編輯:將定點標籤)

回答

3

你不能做一個局部的故障切換,要麼你做,或者你在推動掌握奴隸的條款沒有。

從Redis的Sentinel

自動故障轉移。如果主服務器無法按預期工作,則Sentinel可以啓動故障切換進程,其中從服務器升級爲主服務器,其他附加從服務器將重新配置爲使用新主服務器,並且使用Redis服務器的應用程序會通知有關使用新服務器的新地址連接。

+2

+1。注意:從Redis 2.8開始,部分重新同步也是可能的。但這與部分故障切換不同。如果您的寫入數據非常敏感並且不會丟失,則可以執行幾項操作。一種是,也可以連接到從站,並使用密鑰空間通知或其他(自定義)訂閱來回復「數據是安全的」。另一個(取決於範圍)可以是一個bgsave,然後是異步檢查,根本不需要奴隸。 –

+0

@TwBert好的提示!注意到 – Gustav

+0

謝謝,不客氣! –