我一直在想爲什麼ZooKeeper需要合奏中的大部分機器才能工作。假設我們有一個非常簡單的3臺機器--A,B,C組合。爲什麼ZooKeeper需要大部分運行?
當A失敗時,新領導人被選中 - 罰款,一切正常。當另一個人死亡時,讓我們說B,服務不可用。是否有意義?爲什麼機器C不能單獨處理所有事情,直到A和B再次起來?
由於一體機就足以完成所有的工作(例如單機集成正常工作)...
有原因的ZooKeeper是這樣設計什麼特別的原因?有沒有一種方法可以配置ZooKeeper,例如當至少有一個N啓動時總是可用的?
編輯: 也許有一種方法可以應用自定義算法的領導者選擇?或者定義法定人數的大小?
在此先感謝。
您是否找到了改變當前領導者選擇算法的方法?我發現還有一點令人沮喪的是,爲3臺機器支付了200K的費用,這些機器應該能夠消除單點故障點發現自己基本處於相同位置的風險...... – dcg
@dcg不,我甚至沒有嘗試過找到一個解決方法,因爲在閱讀我的問題的答案後,我瞭解了ZooKeeper的方法,這看起來很合理。 –