2011-07-24 54 views
2

假设我在Zookeeper中有5个节点配置{1,2,3,4,5} Zookeeper表示当大多数节点为任何给定节点投票时选举出领导者,那么选择具有大多数节点的节点作为领导者。 Zookeeper基准说,领导者选举通常需要200毫秒。Zookeeper Node选择领导者的策略?

我的问题是如何实现收敛?

是否所有节点都开始为节点1投票作为领导者,或者他们开始​​随机选择领导者?如果领导人的任命是完全随机的,那么它是如何确保领导人选择的衔接或者如此之快的速度?

感谢您的回答!帮助赞赏!

+1

源代码有帮助吗? http://massapi.com/source/zookeeper-3.3.2/src/java/main/org/apache/zookeeper/server/quorum/LeaderElection.java.html –

+0

非常感谢!它确实有帮助!当我完全了解源代码时,让我更新答案。 – chiku

回答

1

有一些注意事项here

每个节点最初为自己投票。对于接下来的轮次,每个节点对具有最高zxid(最新事务)的节点进行投票,并且绑定被最高nodeid破坏。

+0

谢谢!但是,它并没有深入了解节点的投票模式。 – chiku