【Zookeeper】源码分析之Leader选举(一)
一、前言
分析完了Zookeeper中的网络机制后,接着来分析Zookeeper中一个更为核心的模块,Leader选举。
二、总结框架图
对于Leader选举,其总体框架图如下图所示
说明:
选举的父接口为Election,其定义了lookForLeader和shutdown两个方法,lookForLeader表示寻找Leader,shutdown则表示关闭,如关闭服务端之间的连接。
AuthFastLeaderElection,同FastLeaderElection算法基本一致,只是在消息中加入了认证信息,其在3.4.0之后的版本中已经不建议使用。
FastLeaderElection,其是标准的fast paxos算法的实现,基于TCP协议进行选举。
LeaderElection,也表示一种选举算法,其在3.4.0之后的版本中已经不建议使用。
三、Election源码分析
public interface Election { public Vote lookForLeader() throws InterruptedException; public void shutdown(); }
说明:可以看到Election接口定义的方法相当简单。
四、总结
本篇讲解了Leader选举的Election接口,其是Leader选举的父接口,关于具体子类的实现,之后会详细进行分析,谢谢各位园友的观看~
PS:如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”,将会是我不竭的动力!
作者:leesf 掌控之中,才会成功;掌控之外,注定失败。
出处:http://www.cnblogs.com/leesf456/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果觉得本文对您有帮助,您可以请我喝杯咖啡!