码迷,mamicode.com
首页 > 其他好文 > 详细

zookeeper 源码阅读---框架

时间:2015-03-11 19:13:46      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

 

1. 启动类 QuorumPeerMain.java

   集群方式:调用runFromConfig(QuorumPeerConfig config)   

                        创建一个QuorumPeer 对象,并初始化设置其相关属性,如ZKDatabase,ServerCnxnFactory成员等。

                         QuorumPeer继承了Thread(ublic class QuorumPeer extends Thread implements QuorumStats.Provider),所以 调用 对象的 start() 和 join()方法,join返回就结束退出。

 

2.  QuorumPeer 的 start方法,真正开始zookeeper 实例的工作:  

    public synchronized void start() {
        loadDataBase();        // 从磁盘加载,恢复数据
        cnxnFactory.start();   // 启动处理客户端连接与交互的模块
        startLeaderElection(); // 开始选举机制
        super.start();         
    }

  

3.  QuorumPeer类的成员: zkDb = new ZKDatabase(this.logFactory); // logFactory 是 FileTxnSnapLog 类对象,涉及到logDir和dataDir

     FileTxnSnapLog 包含处理快照的对象和操作日志的对象。

     FileSnap 处理快照,主要是序列化和反序列化;

     

zookeeper 源码阅读---框架

标签:

原文地址:http://www.cnblogs.com/kuipertan/p/4330638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!