首页 > 其他 > 详细

zookeeper 源码阅读---框架

时间:2015-03-11 19:13:36      阅读:192      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!