2024-05-13 11:37:07 发布
网友
这是kazoo readthedocs上提到的代码
election=zk.Election("/electionpath", "my-identifier")
要传递哪些输入参数以使特定节点成为leader?(即/electionpath和我的标识符在这里指的是什么?)在
简而言之:“/electionpath”是您感兴趣的路径,您将在其中创建节点、添加数据并使用dataWatchers监视节点。 “my identifier”是非重入锁的标识符,它将用于验证谁是竞争者中的领导者,并且只允许向leader写入。在
具体内容: 为了简化,首先解释为什么动物园管理员应该有领导者。所有的联系和处理都是由负责人来做的。 考虑下面的例子来理解领导人选举的概念。在
In [1]: zk_client.create('test_zk/path_of_interest/test_ephemeral', ephemeral=True)
In [9]: zk_client.get("test_zk/path_of_interest/test_ephemeral")Out [9]: ('',ZnodeStat(czxid=678608988239, mzxid=687195015354, ctime=1476960597584, mtime=1477310417594, version=1145, cversion=0, aversion=0, ephemeralOwner=0, dataLength=185, numChildren=0, pzxid=678608988239))
In [9]: zk_client.get("test_zk/path_of_interest/test_ephemeral")
Out [9]: ('',ZnodeStat(czxid=678608988239, mzxid=687195015354, ctime=1476960597584, mtime=1477310417594, version=1145, cversion=0, aversion=0, ephemeralOwner=0, dataLength=185, numChildren=0, pzxid=678608988239))
创建id最小的节点(czxid)将被选为领导后选举过程。
Leader election在内部为选定的节点(最小的czxid)提供一个不可重入的锁,并为该锁设置一些标识符,用于验证谁是竞争者中的领导者(“我的标识符”)。
现在让我们看看选举领导人的实际代码。在
In [7]: election = zk_client.Election('/test_zk/path_of_interest', 'test-election') In [8]: def leader_func(): ...: print 'Election Completed...!' ...: In [9]: election.run(leader_func) Election Completed...!
一个callable被传递给run方法来完成一些选举后的工作。在
我希望这有帮助。在
简而言之:“/electionpath”是您感兴趣的路径,您将在其中创建节点、添加数据并使用dataWatchers监视节点。 “my identifier”是非重入锁的标识符,它将用于验证谁是竞争者中的领导者,并且只允许向leader写入。在
具体内容: 为了简化,首先解释为什么动物园管理员应该有领导者。所有的联系和处理都是由负责人来做的。 考虑下面的例子来理解领导人选举的概念。在
创建id最小的节点(czxid)将被选为领导后选举过程。
Leader election在内部为选定的节点(最小的czxid)提供一个不可重入的锁,并为该锁设置一些标识符,用于验证谁是竞争者中的领导者(“我的标识符”)。
现在让我们看看选举领导人的实际代码。在
一个callable被传递给run方法来完成一些选举后的工作。在
我希望这有帮助。在
相关问题 更多 >
编程相关推荐