03 2017 档案

摘要:Zookeeper源码分析目录如下 1. 【Zookeeper】源码分析之序列化 2. 【Zookeeper】源码分析之持久化(一)之FileTxnLog 3. 【Zookeeper】源码分析之持久化(二)之FileSnap 4. 【Zookeeper】源码分析之持久化(三)之FileTxnSnap 阅读全文
posted @ 2017-03-13 19:56 leesf 阅读(9814) 评论(0) 推荐(8) 编辑
摘要:一、前言 前面分析了FollowerZooKeeperServer,接着分析ObserverZooKeeperServer。 二、ObserverZooKeeperServer源码分析 2.1 类的继承关系 说明:ObserverZooKeeperServer也继承了LearnerZooKeeper 阅读全文
posted @ 2017-03-08 09:48 leesf 阅读(1218) 评论(0) 推荐(1) 编辑
摘要:一、前言 前面分析了LeaderZooKeeperServer,接着分析FollowerZooKeeperServer。 二、FollowerZooKeeperServer源码分析 2.1 类的继承关系 说明:其继承LearnerZooKeeperServer抽象类,角色为Follower。其请求处 阅读全文
posted @ 2017-03-08 09:23 leesf 阅读(1530) 评论(0) 推荐(1) 编辑
摘要:一、前言 前面分析了ZooKeeperServer源码,由于QuorumZooKeeperServer的源码相对简单,于是直接分析LeaderZooKeeperServer。 二、LeaderZooKeeperServer源码分析 2.1 类的继承关系 说明:LeaderZooKeeperServe 阅读全文
posted @ 2017-03-07 21:00 leesf 阅读(2173) 评论(0) 推荐(1) 编辑
摘要:一、前言 前面阐述了服务器的总体框架,下面来分析服务器的所有父类ZooKeeperServer。 二、ZooKeeperServer源码分析 2.1 类的继承关系 说明:ZooKeeperServer是ZooKeeper中所有服务器的父类,其实现了Session.Expirer和ServerStat 阅读全文
posted @ 2017-03-07 20:08 leesf 阅读(2084) 评论(0) 推荐(3) 编辑
摘要:一、前言 前面已经介绍了Zookeeper中Leader选举的具体流程,接着来学习Zookeeper中的各种服务器。 二、总体框架图 对于服务器,其框架图如下图所示 说明: ZooKeeperServer,为所有服务器的父类,其请求处理链为PrepRequestProcessor -> SyncRe 阅读全文
posted @ 2017-03-07 15:14 leesf 阅读(2024) 评论(0) 推荐(1) 编辑
摘要:一、前言 前面学习了Leader选举的总体框架,接着来学习Zookeeper中默认的选举策略,FastLeaderElection。 二、FastLeaderElection源码分析 2.1 类的继承关系 说明:FastLeaderElection实现了Election接口,其需要实现接口中定义的l 阅读全文
posted @ 2017-03-07 09:14 leesf 阅读(6508) 评论(1) 推荐(6) 编辑
摘要:一、前言 前面学习了Scala的Methods,接着学习Scala中的Object 二、Object Object在Scala有两种含义,在Java中,其代表一个类的实例,而在Scala中,其还是一个关键字,本篇首先将会把object当成一个类的实例看待,展示如何将对象从一种类型转化为另一种类型,之 阅读全文
posted @ 2017-03-03 20:14 leesf 阅读(19245) 评论(2) 推荐(4) 编辑
摘要:一、前言 分析完了Zookeeper中的网络机制后,接着来分析Zookeeper中一个更为核心的模块,Leader选举。 二、总结框架图 对于Leader选举,其总体框架图如下图所示 说明: 选举的父接口为Election,其定义了lookForLeader和shutdown两个方法,lookFor 阅读全文
posted @ 2017-03-03 09:06 leesf 阅读(3307) 评论(0) 推荐(2) 编辑
摘要:一、前言 前面已经学习了NIOServerCnxn,接着继续学习NettyServerCnxn。 二、NettyServerCnxn源码分析 2.1 类的继承关系 说明:NettyServerCnxn继承了ServerCnxn抽象类,使用Netty框架来高效处理与客户端之间的通信。 2.2 类的内部 阅读全文
posted @ 2017-03-02 20:39 leesf 阅读(1916) 评论(0) 推荐(4) 编辑
摘要:一、前言 前面学习了Scala的Class,下面接着学习Method(方法)。 二、Method Scala的方法与Java的方法类似,都是添加至类中的行为,但是在具体的实现细节上差异很大,下面展示一个参数为整形,返回值为String的方法定义 Scala中的方法可以写的更为简洁,如下 将参数值加1 阅读全文
posted @ 2017-03-02 08:24 leesf 阅读(1885) 评论(0) 推荐(1) 编辑
摘要:一、前言 前面介绍了ServerCnxn,下面开始学习NIOServerCnxn。 二、NIOServerCnxn源码分析 2.1 类的继承关系 说明:NIOServerCnxn继承了ServerCnxn抽象类,使用NIO来处理与客户端之间的通信,使用单线程处理。 2.2 类的内部类 1. Send 阅读全文
posted @ 2017-03-01 17:22 leesf 阅读(2768) 评论(0) 推荐(3) 编辑