2023年3月4日
@LiuYongQiang6 目标岗位 本硕均为机电专业相关,比赛和项目也是软硬件结合,个人软开背景中学已经学过pascal和数据结构与算法,大学本科除了C语言和微机原理基本没学过CS相关课程,研究生才把操作系统、组原以及计算机网络补上,顺便补了个c++,抽空玩linux,秋招前3个月开始刷题(牛客300,力……
阅读全文
2023年3月4日
题目:zk的session机制 参考答案: zookeeper会为每个客户端分配一个session,类似于web服务器一样,用来标识客户端的身份。 session的作用: 客户端标识 超时检查 请求的顺序执行 维护临时节点的生命周期 watcher通知 session的状态: CONNECTING CONNECTED RECONNECTING RECONNECTED CLOSED sessio……
阅读全文
2023年3月4日
题目:分布式通知和协调 参考答案: 对于系统调度来说:操作人员发送通知实际是通过控制台改变某个节点的状态,然后zk将这些变化发送给注册了这个节点的watcher的所有客户端。 对于执行情况汇报:每个工作进程都在某个目录下创建一个临时节点。并携带工作的进度数据,这样汇总的进程可以监控目录……
阅读全文
2023年3月4日
题目:zookeeper同步流程 参考答案: 选完Leader以后,zk就进入状态同步过程。 Leader等待Follower和Observer连接; Follower连接leader,将最大的zxid发送给leader; Leader根据follower的zxid确定同步点; 完成同步后通……
阅读全文
2023年3月4日
题目:zookeeper是如何选举Leader的? 参考答案: 当leader崩溃或者leader失去大多数的follower,这时zk进入恢复模式,恢复模式需要重新选举出一个新的leader,让所有的Server都恢复到一个正确的状态。Zk的选举算法有两种:一种是基于basic pa……
阅读全文
2023年3月4日
题目:zk集群下server工作状态 参考答案: 每个Server在工作过程中有四种状态: LOOKING:当前Server不知道leader是谁,正在搜寻 LEADING:当前server角色为leader FOLLOWING:当前server角色为follower OBSERVING:当……
阅读全文
2023年3月4日
题目:zookeeper是如何保证事务的顺序一致性的? 参考答案: zookeeper采用了递增的事务Id来标识,所有的proposal(提议)都在被提出的时候加上了zxid,zxid实际上是一个64位的数字,高32位是epoch(时期; 纪元; 世; 新时代)用来标识leader是否发生……
阅读全文
2023年3月4日
题目:zk中zab的工作原理 参考答案: ZAB 是 ZooKeeper Atomic Broadcast (ZooKeeper 原子广播协议)的缩写,它是特别为 ZooKeeper 设计的崩溃可恢复的原子消息广播算法。ZooKeeper 使用 Leader来接收并处理所有事务请求,并采用 ZAB 协议,将服务器数据的状态变更以事务 Proposal 的形式广播到所有的 Follower 服务器上去。这种主……
阅读全文
2023年3月4日
题目:zk数据复制 参考答案: Zookeeper作为一个集群提供一致的数据服务,自然,它要在所有机器间做数据复制。 数据复制的好处: 1、容错:一个节点出错,不致于让整个系统停止工作,别的节点可以接管它的工作; 2、提高系统的扩展能力 :把负载分布到多个节点上,或者增加节点来提高系统的负载……
阅读全文
2023年3月4日
题目:zk队列管理 参考答案: 两种类型的队列: 1、同步队列,当一个队列的成员都聚齐时,这个队列才可用,否则一直等待所有成员到达。 2、队列按照 FIFO 方式进行入队和出队操作。 第一类,在约定目录下创建临时目录节点,监听节点数目是否是我们要求的数目。 第二类,和分布式锁服务中的控制时序场景基本原……
阅读全文