ZooKeeper 的 Watch 一直有效吗?
先说出你的答案
定义边界、关键机制、一个反例;P8题再补容量、失败与验证。
查看完整题解
参考回答
直接回答
普通 get -w、ls -w 与 exists 方式登记的 Watch 是一次性的。ZooKeeper 3.6 起可以用 addWatch 挂持久或持久递归监听,触发后继续监视。
讲清原理
持久递归监听覆盖指定路径和后代,发节点创建、删除与数据改变等事件。后代的创建或删除已能表达子树变化,因此递归模式不再额外发送 NodeChildrenChanged。会话过期后要重新建立所需监听。
例子与易错点
监听一份配置用普通 Watch,事件到达后用带监听的读取一起拿新值。管理整棵目录树时,可按范围选择持久递归模式。
延伸阅读 ZooKeeper 的 Watcher 怎样工作? · 一次 ZooKeeper 监听从注册到回调经历什么? · 使用 ZooKeeper Watch 有哪些容易踩的坑?
和评分标准对照,你能独立回答到哪一步?
自评会安排下一次复习,不保存你的口述内容。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。