forest
forest copied to clipboard
选举的Leader问题
如果选取的Leader的机器发生故障,可以重新选取Leader吗,有具体过程吗,谢谢
如果选取的Leader的机器发生故障,可以重新选取Leader吗,有具体过程吗,谢谢
Leader的机器发生故障会重新选择出一个新的Leader
- 所有节点启动时都监听/forest/server/elect/leader是否发生变更。
- 如果发生变更则不断自己尝试创建属于自己的/forest/server/elect/leader(内容为自己的node id)也就是自己竞选Leader请求(注意使用etcd租约以及事务仅有一个节点创建成功)。
- 如果当前节点竞选失败,发现已经有新的Leader产生则自己放弃竞选,等待下一个Leader失效再次参与竞选。
- 如果竞选Leader成功则开始刷新当前任务配置与任务执行计划同步工作,并根据任务执行计划计划式派发任务和收集统计任务执行状态。
所有节点都是对等的只有Leader才有权限派发任务
具体可以源码参考
如果有其他不明白的地方请多多指导,谢谢!
@jetamie