2019年面试官最喜欢问的28道ZooKeeper面试题(11)
7. 客户端注册 Watcher 实现
(1)调用 getData()/getChildren()/exist()三个 API , 传入 Watcher 对象
(2)标记请求 request , 封装 Watcher 到 WatchRegistration
(3)封装成 Packet 对象 , 发服务端发送 request
(4)收到服务端响应后 , 将 Watcher 注册到 ZKWatcherManager 中进行管理
(5)请求返回 , 完成注册 。
8. 服务端处理 Watcher 实现
(1)服务端接收 Watcher 并存储
接收到客户端请求 , 处理请求判断是否需要注册 Watcher , 需要的话将数据节点的节点路径和 ServerCnxn(ServerCnxn 代表一个客户端和服务端的连接 , 实现了 Watcher 的 process 接口 , 此时可以看成一个 Watcher 对象)存储在WatcherManager 的 WatchTable 和 watch2Paths 中去 。
推荐阅读
- 驾驶|LPL解说鼓鼓透露:进入联盟后被管理层“面试”8次,已经留下阴影
- 剑网3|剑网3:2019年大型818被铲出,女主简直无底线!
- t1|Teddy塞纳300层被动当奶妈?我现在去T1面试AD还赶得上夏季赛吗?
- estar|AG超玩会要小心eStar,阿泰表示,花海梦回2019年,有可能是AG夺冠最大的障碍
- 女主播|虎牙“在石250”重整公会,直播面试女主播过程,说自己是纯帮忙
- 乌迪尔|LOL:本周3款半价,这款2019年的皮肤,首次在周半价中出现
- theshy|IG为赢RNG拼了,苏小洛面试前TES教练,Theshy也扩展英雄池了
- 孙尚香|口袋试训QG,刺痛面试:你能给我们带来什么?口袋:我孙尚香能带飞!
- iqoo|5G为什么突然不火了?
- 阿里巴巴|程序员8年看了15个源代码,面试阿里6次被拒:技术好真没有啥用