真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

zk的watch機制詳細介紹

這篇文章主要介紹“zk的watch機制詳細介紹”,在日常操作中,相信很多人在zk的watch機制詳細介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”zk的watch機制詳細介紹”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

目前成都創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設、域名、雅安服務器托管網(wǎng)站托管、企業(yè)網(wǎng)站設計、豐寧網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

WatchManager中watch機制

watcher作用:通知狀態(tài)與事件類型 接口定義了process方法,定義了Event接口,包含KeeperState(通知時zk狀態(tài)),EventType說明event類型

zk的watch機制詳細介紹

void process(WatchedEvent event);回調函數(shù)實現(xiàn)該函數(shù),表示該event執(zhí)行行為相關邏輯

WatchedEvent

描述zk檢測到的狀態(tài)變化事件,回應變化,發(fā)生了什么,zk當前狀態(tài),發(fā)生事件znode的路徑

/**將屬性轉換成網(wǎng)絡傳輸?shù)腤atcherEvent

* Convert WatchedEvent to type that can be sent over network

*/

public WatcherEvent getWrapper() {

return new WatcherEvent(eventType.getIntValue(), keeperState.getIntValue(), path);

}

WatcherEvent

是一個接口,實現(xiàn)了Record,屬性有type,state,path,是網(wǎng)絡傳輸?shù)姆庋b

ClientWatchManager接口 

根據(jù)event得到需要通知的watcher集合,實現(xiàn)類為ZKWatcherManager

zk的watch機制詳細介紹

屬性:

private final Map> dataWatches = new HashMap>();//數(shù)據(jù)監(jiān)聽集合
private final Map> existWatches = new HashMap>();//已經(jīng)存在監(jiān)聽集合
private final Map> childWatches = new HashMap>();//子節(jié)點監(jiān)聽集合
private boolean disableAutoWatchReset;

ZKWatchManager(boolean disableAutoWatchReset) {
    this.disableAutoWatchReset = disableAutoWatchReset;
}

protected volatile Watcher defaultWatcher;

方法:添加watcher

刪除watcher 三種類型節(jié)點的集合變化

涉及監(jiān)聽類型 enum WatcherType { Children(1), Data(2), Any(3); }

materialize()實現(xiàn)方法

WatcherSetEventPair

將event以及對應需要觸發(fā)的watches集合進行組合綁定,是一個包裝類

private static class WatcherSetEventPair {

    private final Set watchers;
    private final WatchedEvent event;

    public WatcherSetEventPair(Set watchers, WatchedEvent event) {
        this.watchers = watchers;
        this.event = event;
    }

}

UML類圖

zk的watch機制詳細介紹

zk中引入watcher機制來實現(xiàn)通知功能

zk允許客戶端向服務端注冊一個監(jiān)聽,指定事件觸發(fā)監(jiān)聽時,服務端向客戶端發(fā)送監(jiān)聽事件通知,以便客戶端完成邏輯操作

特性:

一次性,watcher被觸發(fā),zk都將它從相應的相應存儲中移除,注冊一次,觸發(fā)一次

客戶端串行執(zhí)行,客戶端watcher回調是一個串行過程

輕量:包含事件類型 通知狀態(tài),節(jié)點路徑

到此,關于“zk的watch機制詳細介紹”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
當前標題:zk的watch機制詳細介紹
URL網(wǎng)址:http://weahome.cn/article/pdjcch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部