2014-12-13 63 views
0

在動物園管理員,我們如何處理接收從以前的表背的呼叫和重置新的手錶之間的事件「數據變更的缺失」。我嘗試着看看許多解決方案,比如Apache的館長和其他互聯網上的建議。但我仍然不清楚。動物園管理員手錶失敗事件

我們如何確保我們不會錯過任何事件或有確保我們不會錯過的動物園管理員(尤其是節點數據的變化)的任何狀態更改任何其他傻瓜證明的方式? 我瞭解定期投票是一種方法。但這很昂貴。

回答

2

首先,我不建議使用Apache館長不夠。它有一些偉大的包裝,使事情超級方便,更強大。它處理了很多你可能需要自己編寫代碼的東西(以及那些很難做到的東西)。

其次,看該技術說明中館長文檔:

https://cwiki.apache.org/confluence/display/CURATOR/TN1

這裏

主要外賣就是你寫的手錶通知作出迴應任何代碼應迅速恢復越好,應該不會阻塞(在I/O或等待從後續請求ZK,& c)中的響應。 (1)產生一個線程來處理手錶啓動的代碼,(2)就像在任何分佈式/併發場景中一樣,驗證數據是第一個編碼的東西之一那個新線程呢。它有一些開銷,但它比投票更好。

定期輪詢不應該與飼養員玩 - 這就是手錶是。你知道什麼時候檢查數據是否改變。您可以檢查數據監視何時觸發,以捕獲您關心的後續更新類型。

+0

感謝您的寶貴建議馬修。即使我傾向於使用策展人! – 2014-12-19 19:52:00