自动选择节点集群中的领导者

时间:2011-04-28 20:42:09

标签: java cluster-computing

有哪些最佳方法/算法可用于选择节点集群中的主要节点,知道节点随时都可以上升和下降?如果Java中提供了实现,则可以加分。

3 个答案:

答案 0 :(得分:6)

我之前在Java中实现了Paxos算法。它非常有用,而且相当简单。 (花了大约16个小时来组装它的一个演示,使用Threads来模拟服务器。那时我在线程化方面也差得多!)

它无法帮助您准确选择领导者......但它将做的是允许各个节点就领导者达成一致。所以你有这个领导者选择算法,但是因为每个节点都会选择它自己的节点来领导,你可能会在你的节点中发现“内战”。 Paxos算法允许您说出哪个领导者是真正的领导者。

http://en.wikipedia.org/wiki/Paxos_%28computer_science%29

答案 1 :(得分:1)

您可以查看JGroups的来源。 (关键字:“协调员”,在jGroups手册中查看chapter 7

答案 2 :(得分:-1)

一些选项:

我亲自用Hazelcast和JGroups实现了它,并且说两者都相当简单直接。对于一个新项目,我会选择Hazelcast。