Automatic selection of a leader in a cluster of no

2019-03-30 08:05发布

What are the best methods/algorithms available to select a leading node in a cluster of nodes, knowing that nodes come up and down at anytime? If implementations are available in Java, it is a plus.

3条回答
Summer. ? 凉城
2楼-- · 2019-03-30 08:40

Some options:

I have personally implemented it with Hazelcast and JGroups and say that both were fairly straight-forward and simple. For a new project, I'd go with Hazelcast.

查看更多
Ridiculous、
3楼-- · 2019-03-30 08:42

You can look through the sources of JGroups. (keyword: "coordinator", check out chapter 7 in jGroups manual)

查看更多
对你真心纯属浪费
4楼-- · 2019-03-30 08:49

I've implemented the Paxos algorith before in Java. It's very useful, and fairly simple. (It took about 16 hours to put together a demo of it, using Threads to simulate servers. I was also much worse at threading then!)

It won't help you select the leader exactly... but what it will do is allow the various nodes to agree on a leader. So you have this leader selection algorithm, but because each node is going to pick it's own node to lead, you may find a "civil war" among your nodes. The Paxos algorithm allows you to say which picked leader is the real leader.

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

查看更多
登录 后发表回答