更新時間:2021-03-11 來源:黑馬程序員 瀏覽量:
同一個事件類型在不同的連接狀態(tài)中代表的含義有所不同,下表列舉了常見的連接狀態(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 | 會話過期 | NodeDeleted | 節(jié)點(diǎn)被刪除 |
從表1可知,Zookeeper常見的連接狀態(tài)和事件類型分別有4種,具體含義如下。
當(dāng)客戶端斷開連接,這時客戶端和服務(wù)器的連接就是Disconnected狀態(tài),說明連接失敗;當(dāng)客戶端和服務(wù)器的某一個節(jié)點(diǎn)建立連接,并完成一次version、zxid的同步,這時客戶端和服務(wù)器的連接狀態(tài)就是SyncConnected,說明連接成功;當(dāng)Zookeeper客戶端連接認(rèn)證失敗,這時客戶端和服務(wù)器的連接狀態(tài)就是AuthFailed,說明認(rèn)證失敗;當(dāng)客戶端發(fā)送Request請求,通知服務(wù)器其上一個發(fā)送心跳的時間,服務(wù)器收到這個請求后,通知客戶端下一個發(fā)送心跳的時間是哪個時間點(diǎn)。當(dāng)客戶端時間戳達(dá)到最后一個發(fā)送心跳的時間,而沒有收到服務(wù)器發(fā)來的新發(fā)送心跳的時間,即認(rèn)為自己下線,這時客戶端和服務(wù)器的連接狀態(tài)就是Expired狀態(tài),說明會話過期。
當(dāng)節(jié)點(diǎn)被創(chuàng)建時,NodeCreated事件被觸發(fā);當(dāng)節(jié)點(diǎn)的數(shù)據(jù)發(fā)生變更時,NodeDataChanged事件被觸發(fā);當(dāng)節(jié)點(diǎn)的直接子節(jié)點(diǎn)被創(chuàng)建、被刪除、子節(jié)點(diǎn)數(shù)據(jù)發(fā)生變更時,NodeChildrentChanged事件被觸發(fā);當(dāng)節(jié)點(diǎn)被刪除時,NodeDeleted事件被觸發(fā)。
猜你喜歡:
【AI設(shè)計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營】深圳跨境電商運(yùn)營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個工作日,就業(yè)率已達(dá)到94.55%,班均薪資20763元
2025-09-19【AI智能應(yīng)用開發(fā)-Java】畢業(yè)當(dāng)天offer率91%,薪資1W+占比54.2%,班級均薪12k+
2025-09-19