02 2017 档案
摘要:一、前言 前面已经分析了请求处理链中的多数类,接着继续分析Zookeeper中的网络通信模块。 二、总体框图 对于网络通信模块,其总体框图如下所示 说明: Stats,表示ServerCnxn上的统计数据。 Watcher,表示时间处理器。 ServerCnxn,表示服务器连接,表示一个从客户端到服
阅读全文
摘要:一、前言 前面分析了SyncReqeustProcessor,接着分析请求处理链中最后的一个处理器FinalRequestProcessor。 二、FinalRequestProcessor源码分析 2.1 类的继承关系 说明:FinalRequestProcessor只实现了RequestProc
阅读全文
摘要:一、前言 在分析了PrepRequestProcessor处理器后,接着来分析SyncRequestProcessor,该处理器将请求存入磁盘,其将请求批量的存入磁盘以提高效率,请求在写入磁盘之前是不会被转发到下个处理器的。 二、SyncRequestProcessor源码分析 2.1 类的继承关系
阅读全文
摘要:一、前言 前面学习了控制结构,下面学习Scala的Class和Properties。 二、Class&Properties 尽管Scala和Java很类似,但是对类的定义、类构造函数、字段可见性控制等则不相同,Java更为冗长,Scala精炼。本章将通过Scala的构造函数工作原理来理解Scala的
阅读全文
摘要:一、前言 前面学习了请求处理链的RequestProcessor父类,接着学习PrepRequestProcessor,其通常是请求处理链的第一个处理器。 二、PrepRequestProcessor源码分析 2.1 类的继承关系 说明:可以看到PrepRequestProcessor继承了Thre
阅读全文
摘要:一、前言 前面已经分析了Watcher机制的主要代码,现在接着分析Zookeeper中的请求处理链,其是Zookeeper的主要特点之一。 二、总体框图 对于请求处理链而言,所有请求处理器的父接口为RequestProcessor,其框架图如下 说明: AckRequestProcessor,将前一
阅读全文