开发者社区> 问答> 正文

zookeeper事件监听机制

[上海-后端-cccc]
**       **有大佬可以解释一下 zookeeper文档里面的这句话吗"a client will never see a change for which it has set a watch until it first sees the watch event."   
      上下文是  " ZooKeeper provides an ordering guarantee: a client will never see a change for which it has set a watch until it first sees the watch event. Network delays or other factors may cause different clients to see watches and return codes from updates at different times. The key point is that everything seen by the different clients will have a consistent order."

来源:云原生后端社区https://www.yuque.com/server_mind/answer

展开
收起
montos 2020-04-20 18:28:11 491 0
1 条回答
写回答
取消 提交回答
  • [珠海-golang-Leo]
    不太清楚 watch 具体含义,但这句话感觉是:在第一个 watch的 event发生后,客户端才能看到 watch 的 change

    [北京-打杂-火柴]
    我的理解是 一个客户端不会发现变化,除非对它增加一个观察事件监听,直到他监听到这个变化发生.
    我记得 Apache Curator 和 原生的zk 貌似都有一个watch相关的监听类和事件机制

    [上海-后端-cccc]
    我现在的理解是  zookeeper根据watch event的顺序来排序watch,而不根据watch的真正顺序

    [上海-后端-董菲]
    我理解是 watch 只能观测到watch之后的变化,之前的拿不到。如果一次watch后做了处理,再watch,2 次 watch 中间的事件可能监听不到

    [北京-打杂-火柴]
    image.png

    image.png
    zookeeper主要是为了统一分布式系统中各个节点的工作状态,在资源冲突的情况下协调提供节点资源抢占,提供给每个节点了解整个集群所处状态的途径。这一切的实现都依赖于zookeeper中的事件监听和通知机制。
    应该指的就是 节点监听 这个watch事件 和对应的Watcher类.

    来源:云原生后端社区https://www.yuque.com/server_mind/answer

    2020-04-20 18:28:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《MSE 微服务网关》 立即下载
微服务引擎 MSE 治理中心重磅发布 立即下载
阿里云微服务引擎 MSE 2.0 线上发布 立即下载