【Zookeeper】源码分析之Leader选举(一)

Java框架

浏览数:204

2019-3-19

一、前言

  分析完了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选举的父接口,关于具体子类的实现,之后会详细进行分析,谢谢各位园友的观看~

Zookeeper源码分析目录如下

PS:如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”,将会是我不竭的动力!

作者:leesf    掌控之中,才会成功;掌控之外,注定失败。

出处:http://www.cnblogs.com/leesf456/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


如果觉得本文对您有帮助,您可以请我喝杯咖啡!