在節點集羣中選擇領先節點的最佳方法/算法是什麼?知道節點在任何時候都會出現和停止?如果實現在Java中可用,則它是一個優點。自動選擇節點集羣中的領導者
4
A
回答
6
我已經在Java中實現了Paxos算法。這非常有用,而且相當簡單。 (花了大約16個小時來完成它的演示,使用Threads來模擬服務器,然後我的線程也變得更糟!)
它不會幫助你完全選擇領導......但是它是什麼將做的是允許各個節點就領導者達成一致。所以你有這個領導者選擇算法,但是因爲每個節點都會選擇它自己的節點來領導,所以你可能會在你的節點之間發現一場「內戰」。 Paxos算法允許你說哪個領導者是真正的領導者。
+0
謝謝。我有關於Paxos實現的問題,但我會創建一個單獨的問題。 – JVerstry 2011-05-01 17:41:47
1
-1
一些選項:
- Hazelcast - Cluster leader election with Spring Integration and Hazelcast。
- JGroups - Cluster leader election with JGroups
- Apache ZooKeeper - Cluster leader election with ZooKeeper。
我已經親自實施了Hazelcast和JGroups,並且說這兩個都相當直接簡單。對於一個新項目,我會和Hazelcast一起去。
相關問題
- 1. 領導者選擇
- 2. AWS中的Docker化Elasticsearch集羣 - 每個節點選擇自己
- 3. 海龜羣體的領導者選擇NetLogo
- 4. 烏龜羣體的領導者選擇(NetLogo)
- 5. 從領事「否羣集的領導者」恢復狀態
- 6. 自動設置多節點Hadoop集羣
- 7. 節點在SOLR中出現故障後未選舉領導者
- 8. 節點羣集
- 9. 如何更改etcd羣集中的領導者?
- 10. Zookeeper Node選擇領導者的策略?
- 11. 選擇Quartz集羣中的節點來執行作業
- 12. 碼頭上的領事集羣自動引導
- 13. Dynatree:選擇節點時自動選擇所有兄弟節點
- 14. Consul代理如何知道它是集羣的領導者?
- 15. 節點羣集和/或Docker羣集?
- 16. 單節點羣集在多節點羣集上工作?
- 17. 將2節點cassandra集羣轉換爲1節點集羣
- 18. 2節點的Cassandra集羣
- 19. Hadoop的2節點集羣
- 20. 從節點選擇中選擇節點
- 21. 在開發人員或測試羣集(單節點羣集)上還原Cassandra快照(來自3節點羣集)
- 22. 刪除選定節點後自動選擇父節點
- 23. 無法啓動MySQL集羣SQL節點
- 24. 動態添加節點到Phoenix羣集
- 25. Percona Xtradb羣集節點不會啓動
- 26. 無法啓動MySQL集羣SQL節點
- 27. 羣集羣領事設置
- 28. 領導者選舉SolrCloud + Zookeeper
- 29. RabbitMQ消費者從集羣中不同節點讀取
- 30. 當領導人死亡時更改動物園管理員羣集領導
你是什麼意思的「領先」?你能提供更多關於'node'是什麼意思的細節嗎? – 2011-04-28 20:44:44
這不是嚴重依賴於您的使用場景嗎?我的意思是你的用例中的領導者意味着什麼?集羣中間的那個?最大的?最小的? – pintxo 2011-04-28 20:45:55
在多節點網絡中,領導是哪個節點將擁有權威數據。即他們的數據比你的數據更好。例如,如果您向節點A提交數據,則必須將該數據發送到節點B和C.如果I(1納秒後)向節點D提交數據,在它有機會從A到達B和C之前,需要有一種方法來知道我的數據更好。在這種情況下,D是領導者節點,因爲它具有最新的數據寫入。 – corsiKa 2011-04-28 20:49:00