0
動物園管理員的手錶是一次性觸發器;如果我收到一個觀看事件,並且想要知道未來的變化,我必須設置另一塊手錶。Zookeeper爲什麼使手錶一次觸發?
有一些缺點:
1)這使我的代碼複雜
2)是獲得該事件併發送一個新的請求得到一塊手錶之間的等待時間,一些變化可能會錯過!
爲什麼Zookeeper會使手錶一次觸發?
動物園管理員的手錶是一次性觸發器;如果我收到一個觀看事件,並且想要知道未來的變化,我必須設置另一塊手錶。Zookeeper爲什麼使手錶一次觸發?
有一些缺點:
1)這使我的代碼複雜
2)是獲得該事件併發送一個新的請求得到一塊手錶之間的等待時間,一些變化可能會錯過!
爲什麼Zookeeper會使手錶一次觸發?
你可以看到[ZOOKEEPER-153] [1] https://issues.apache.org/jira/browse/ZOOKEEPER-153
在現實中這樣的永久手錶不提供任何額外的好處,在一個時間的手錶。具體而言,監視事件中不包含數據,因此客戶端仍需要執行查詢操作以獲取與更改相對應的數據;即使如此,在事件被接收之後並且在客戶端發送查詢操作之前,znode可以再次改變。即使對znode的更改數量可以使用一次性手錶並檢查znode的統計結構中的mzxid來找到。客戶端仍然會錯過客戶端切換ZooKeeper服務器時發生的事件。
Zookeeper計劃在將來添加永久手錶嗎? – lihongxu
自2014年起,Zookeeper用戶開始提出這個問題。他們肯定回答了這個問題,他們不改變它,除非提供超過一次手錶的額外利益。 – daisy
這正是我想要的,謝謝! – lihongxu