第5章 ZooKeeper简介及安装
一:填空题
1:Zookeeper提供了:
文件系统
通知机制
2:ZAB协议包括两种基本的模式:
崩溃恢复
和
消息广播
3:服务器角色有3种,分别是:
Leader
Follower
和Observer。
二:简答题
1:Zookeeper是如何保证事务的顺序一致性的?
1:如何保证数据一致性有两种情况:第一重新选取leader之后的数据同步; 第二leader处理完事务请求后与follower保持数据同步。 2:首先是重新选举leader之后的数据同步,通过FastleaderElection选举 算法选出leader,选出leader之后,leader需与其他节点进行同步,同步完 成leader才能真正变为leader,当超过一半的follower和leader同步结束后 才算完成同步,然后follower会带上自己最大的zxid,尝试连接leader,来 确定数据是否同步。 3:然后就是第二种情况,处理完事务请求的leader与follwer保持同步。事 务请求全部由leader处理。当leader收到请求后,将请求事务转化为事务 proposal,由于leader会为每一个follower创建一个队列,将该事务放入响 应队列,保证事务的顺序性。之后会由队列中顺序向其他节点广播该提案, follower收到后会将其以事务的形式写入到本地日志中,并向leader发送反 馈ack,leader会等待其他follower的回复,当收到一半以上follower响应 时,leader会向其他节点发送commit消息,同时leader提交该提案。当 follower将数据同步完成之后,leader会将该follower加入到真正可用的 follower列表中。
2:Zookeeper有哪几种节点类型?
1:持久:创建之后一直存在,除非有删除操作,创建节点的客户端会话失效也 不影响此节点。 2:持久顺序:跟持久一样,就是父节点在创建下一级子节点的时候,记录每个 子节点创建的先后顺序,会给每个子节点名加上一个数字后缀。 3:临时:创建客户端会话失效(注意是会话失效,不是连接断了), 节点也就没了。不能建子节点。 4:临时顺序节点。