编辑: 于世美 2019-07-03

? Follower连接leader,将最大的zxid发送给leader;

? Leader根据follower的zxid确定同步点;

? 完成同步后通知follower 已经成为uptodate状态;

? Follower收到uptodate消息后,又可以重新接受 client的请求进行服务了. 《大数据技术基础》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2013年9月修订版 2.3 工作流程 z Leader工作流程 z Follower工作流程 z Observer工作流程 《大数据技术基础》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2013年9月修订版 Leader的三个主要功能 ? 恢复数据;

? 维持与Learner的心跳,接收Learner请求并判断 Learner的请求消息类型;

? Learner的消息类型主要有PING消息、 REQUEST消息、ACK消息、REVALIDATE消息 ,根据不同的消息类型,进行不同的处理. 《大数据技术基础》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2013年9月修订版 PING消息 ? PING消息是指Learner的心跳信息;

REQUEST 消息是Follower发送的提议信息,包括写请求及 同步请求;

ACK消息是Follower的对提议的回复 ,超过半数的Follower通过,则commit该提议;

REVALIDATE消息是用来延长SESSION有效时间 . 《大数据技术基础》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2013年9月修订版 Leader的工作流程简图 《大数据技术基础》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2013年9月修订版 Follower的四个主要功能: ? 向Leader发送请求(PING消息、REQUEST消息 、ACK消息、REVALIDATE消息);

? 接收Leader消息并进行处理;

? 接收Client的请求,如果为写请求,发送给 Leader进行投票;

? 返回Client结果. 《大数据技术基础》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2013年9月修订版 几种Leader消息 Follower的消息循环处理如下几种来自Leader的消息: ? PING消息: 心跳消息;

? PROPOSAL消息:Leader发起的提案,要求Follower投票;

? COMMIT消息:服务器端最新一次提案的信息;

? UPTODATE消息:表明同步完成;

? REVALIDATE消息:根据Leader的REVALIDATE结果, 关闭待revalidate的session还是允许其接受消息;

? SYNC消息:返回SYNC结果到客户端,这个消息最初由 客户端发起,用来强制得到最新的更新. 《大数据技术基础》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2013年9月修订版 Follower的工作流程简图 《大数据技术基础》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2013年9月修订版 observer的流程 ? 对于observer的流程不再叙述,observer流程和 Follower的唯一不同的地方就是observer不会参 加leader发起的投票. 《大数据技术基础》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2013年9月修订版

3、Zookeeper数据模型 ? Zookeeper维护一个类似文件 系统的数据结构,如图所示. ? 每个子目录项如 NameService 都被称作为 znode,和文件系 统一样,我们能够自由的增加 、删除znode,在一个znode下 增加、删除子znode,唯一的 不同在于znode是可以存储数 据的. 《大数据技术基础》 厦门大学计算机系 林子雨 ziyulin@xmu.edu.cn 2013年9月修订版 Znode的四种类型 ? PERSISTENT-持久化目录节点:客户端与zookeeper断 开连接后,该节点依旧存在. ? PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点 :客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号;

? EPHEMERAL-临时目录节点:客户端与zookeeper断开连 接后,该节点被删除;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题