2015-03-25 65 views
0

正如我所知,PAXOS,RAFT和ZAB可以在兩個節點都工作的情況下工作。這意味着如果兩個節點中的一個崩潰,分佈式應用程序也會崩潰。請修復我,如果我錯了。兩個節點的一致性算法

是否有任何算法適用於雙節點羣集,並且會容忍一個節點的故障?

+1

這個問題不是很清楚。 – mjs 2015-03-25 08:58:05

+0

您能否說一下我應該添加什麼問題? – 2015-03-25 09:32:14

回答

2

沒有共識算法可以容忍大多數羣集的失敗。問題是,根據其定義,共識需要大部分集羣的意見。如果您甚至無法與大多數服務器進行通信,如何達成共識?如何知道關閉的服務器會對任何給定的值達成一致?基於多數的一致性算法的工作假設是關於某種價值的多數協議強制要求在給定的狀態下不能選擇其他價值。

當然,從一般意義上講,有許多算法可以容忍雙節點系統中一個節點的故障。問題是你是否願意容忍權衡。這在很大程度上取決於你的用例。共識算法以可用性爲代價提供了強大的一致性。或者,如果您需要可用性(即即使活動的節點少於大多數,集羣仍可繼續運行),則可以使用明顯更簡單的算法,例如一致的哈希和八卦。再一次,這些僅僅取決於你的用例。

相關問題