1
A
回答
1
這取決於法定人數如何分配。你可能知道動物園管理員作爲動物園管理員服務器的法定人數運作。如果兩臺服務器無法互相通信,則意味着存在網絡分區問題(一組服務器無法到達網絡不同部分的其他服務器)。由於我們在仲裁中使用的服務器數量爲奇數,因此將有兩個分區,一個分區大部分服務器,另一個分區少數。
如果領導者居多分區,
仲裁將繼續擔任領導工作具有廣大的法定人數。在少數分區中,服務器將關閉並進入領導者選舉階段。以下文本引自Apache Zookeeper的user mail list
中的郵件線程。
分區後,少數區域的所有服務器都會關閉並進入領導選舉階段。連接到這些服務器的所有客戶端會話 將斷開連接,並且將向其觀察者(如果有任何註冊的話)接收 「KeeperState.Disconnected」事件。
但ZooKeeper支持只讀服務器模式。在此模式下,即使服務器可能從法定分區中分配 ,客戶端也可以連接到只讀服務器 。
如果領導者是少數分區,
同樣,一個地區領導人選舉將在兩個分區和少數民族分區發生就無法選出一個領導者。所以會關機。多數派會選出一位新領導人並繼續運作。
在你的問題中,你所說的master cannot connect to slave
是網絡分區的一個例子。主人(領導者)處於少數分區中,或者奴隸處於少數分區中。
希望你有這個想法:-)
相關問題
- 1. Qt:如果你發送信號太快會發生什麼?
- 2. 如果回執無法到達,Erlang會發生什麼?
- 3. 如果我從AsyncTask調用一個方法會發生什麼?
- 4. 如果我不摧毀信號量會發生什麼?
- 5. 如果DDOS攻擊遇到Windows Azure網站會發生什麼?
- 6. 如果action =「」會發生什麼?
- 7. 如果HttpClient.execute()中斷會發生什麼?
- 8. Java串行通信API - 如果發生超時,inputstream.read()會返回什麼?
- 9. 如果從主線程外部調用dispatch_main,會發生什麼情況?
- 10. 如果通過performSelectorInBackground控制UI會發生什麼?
- 11. 如果輸入流無效將會發生什麼
- 12. 如果DTD鏈接無處可逃,會發生什麼情況?
- 13. 如果你傳入一個無效的widgetvar會發生什麼?
- 14. 如果發生異常,Laravel DB Transaction會發生什麼?
- 15. DatastoreService批量刪除。如果發生異常,會發生什麼
- 16. 如果我不執行部分方法會發生什麼?
- 17. 如果我們直接調用run方法會發生什麼?
- 18. 如果CImage :: Load方法失敗會發生什麼情況?
- 19. 如果我自己調用run()方法會發生什麼?
- 20. 如果我重寫window.scrollTo方法會發生什麼?
- 21. 如果我反覆發佈一百萬次網站會發生什麼?
- 22. 會發生什麼?
- 23. 會發生什麼?
- 24. 會發生什麼?
- 25. 會發生什麼?
- 26. 會發生什麼?
- 27. 會發生什麼?
- 28. 如果數據無法與Spark中的cache()配合使用會發生什麼?
- 29. 如果導入語句無法解析,會發生什麼情況?
- 30. 如果SessionScoped和無狀態方法調用混合,交易會發生什麼