我能够election.lock._get_sorted_children()
使用election.lock.contenders()
. election.lock.contenders()
还要对列表进行排序,所以永远election.lock.contenders()[0]
是领导者?
注意,在election = zk.Election("/path", "uuid")
哪里zk
KazooClient
有没有更好的方法来验证领导者?
我能够election.lock._get_sorted_children()
使用election.lock.contenders()
. election.lock.contenders()
还要对列表进行排序,所以永远election.lock.contenders()[0]
是领导者?
注意,在election = zk.Election("/path", "uuid")
哪里zk
KazooClient
有没有更好的方法来验证领导者?
Kazoo 遵循 zookepeers 的建议,即索引最小的节点应该获取锁。通过Lock::_inner_acquire
始终在获取锁之前等待前辈完成,确保通过最小索引获取锁。因此,election.lock.contenders()[0]
将永远是领导者(当然,除非列表是空的)。