2017-03-06 101 views
0

在基於被動複製的分佈式系統中,如果主服務器發生故障,其中一個備份被提升爲主服務器。但是,假設原始主服務器恢復,那麼我們如何從當前備份切換回主服務器?分佈式系統中的被動複製 - 替換主服務器

我想知道

如果發生故障的主服務器恢復,它必須被併入該系統作爲二次和更新,以反映在給定的時間點上的最準確的信息。要將其作爲主服務器恢復,在當前主服務器(最初是備份服務器)出現故障的情況下,可將其作爲主服務器進行提升,否則,如果需要,當前主服務器可能會被阻止一段時間,原來的主服務器再次作爲主服務器並將阻止的重新引入作爲備份。

我在其他地方找不到這個問題的答案,這就是我的感受。請提出任何更好的選擇。

回答

1

這取決於你在看什麼系統。通常,當原始主服務器恢復時,不需要立即替換備份;如果有的話,你需要同步這兩者並且促進原始的主要。

分佈式同步(或共識)是一個難題。這裏有很多文獻,我建議你閱讀。被動複製系統(領導者/追隨者/候選人)的示例是Raft,您可以從中開始。一個好的在線可視化可以在here找到,而論文是here

ZAB和Paxos也值得一讀!