动物园管理员:如何不丢手表?

时间:2016-07-10 16:02:18

标签: apache-zookeeper

  

手表是一次触发;如果你得到一个你想要的观看活动   要获得将来更改的通知,您必须设置另一个手表。

让我们假设,有一个znode数据每5-100秒更新一次。我想保留它的数据的本地副本。所以我的算法是:

  1. 致电get(znode, set_watch=true)设置观看
  2. on znode's data changed:
    1. 潜在程序员错误的一步
    2. local_copy = get(znode, set_watch=true)获取本地副本并设置另一个手表
  3. 因此,步骤2.1中的单个例外会跳过步骤2.2,这意味着未设置另一个手表,并且所有未来的更新都将丢失。

    编写健壮数据更改的侦听器的一般方法是什么?我目前的肮脏解决方法是通过计时器设置其他手表。

0 个答案:

没有答案