首頁(yè)技術(shù)文章正文

Watch機(jī)制的通知狀態(tài)和事件類型

更新時(shí)間:2021-03-11 來(lái)源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif


同一個(gè)事件類型在不同的連接狀態(tài)中代表的含義有所不同,下表列舉了常見(jiàn)的連接狀態(tài)和事件類型,如表1所示。

表1 Zookeeper連接狀態(tài)和事件類型


連接狀態(tài)狀態(tài)含義事件類型事件含義
Disconnected           連接失敗        NodeCreated                     節(jié)點(diǎn)被創(chuàng)建              
SyncConnected                 連接成功NodeDataChanged    節(jié)點(diǎn)數(shù)據(jù)變更
AuthFailed認(rèn)證失敗NodeChildrentChanged子節(jié)點(diǎn)數(shù)據(jù)變更
Expired會(huì)話過(guò)期NodeDeleted節(jié)點(diǎn)被刪除

從表1可知,Zookeeper常見(jiàn)的連接狀態(tài)和事件類型分別有4種,具體含義如下。

當(dāng)客戶端斷開(kāi)連接,這時(shí)客戶端和服務(wù)器的連接就是Disconnected狀態(tài),說(shuō)明連接失敗;當(dāng)客戶端和服務(wù)器的某一個(gè)節(jié)點(diǎn)建立連接,并完成一次version、zxid的同步,這時(shí)客戶端和服務(wù)器的連接狀態(tài)就是SyncConnected,說(shuō)明連接成功;當(dāng)Zookeeper客戶端連接認(rèn)證失敗,這時(shí)客戶端和服務(wù)器的連接狀態(tài)就是AuthFailed,說(shuō)明認(rèn)證失敗;當(dāng)客戶端發(fā)送Request請(qǐng)求,通知服務(wù)器其上一個(gè)發(fā)送心跳的時(shí)間,服務(wù)器收到這個(gè)請(qǐng)求后,通知客戶端下一個(gè)發(fā)送心跳的時(shí)間是哪個(gè)時(shí)間點(diǎn)。當(dāng)客戶端時(shí)間戳達(dá)到最后一個(gè)發(fā)送心跳的時(shí)間,而沒(méi)有收到服務(wù)器發(fā)來(lái)的新發(fā)送心跳的時(shí)間,即認(rèn)為自己下線,這時(shí)客戶端和服務(wù)器的連接狀態(tài)就是Expired狀態(tài),說(shuō)明會(huì)話過(guò)期。

當(dāng)節(jié)點(diǎn)被創(chuàng)建時(shí),NodeCreated事件被觸發(fā);當(dāng)節(jié)點(diǎn)的數(shù)據(jù)發(fā)生變更時(shí),NodeDataChanged事件被觸發(fā);當(dāng)節(jié)點(diǎn)的直接子節(jié)點(diǎn)被創(chuàng)建、被刪除、子節(jié)點(diǎn)數(shù)據(jù)發(fā)生變更時(shí),NodeChildrentChanged事件被觸發(fā);當(dāng)節(jié)點(diǎn)被刪除時(shí),NodeDeleted事件被觸發(fā)。







猜你喜歡:

Hadoop生態(tài)體系有哪些子系統(tǒng)?

采集數(shù)據(jù)為什么選擇kafka?

Watch機(jī)制特點(diǎn)有哪些?Watch簡(jiǎn)介

黑馬程序員大數(shù)據(jù)開(kāi)發(fā)培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!