一、前言

  前面分析了Zookeeper客戶端的細節(jié),接著繼續(xù)學習Zookeeper中的一個非常重要的概念:會話。

二、會話

  客戶端與服務端之間任何交互操作都與會話息息相關,如臨時節(jié)點的生命周期、客戶端請求的順序執(zhí)行、Watcher通知機制等。Zookeeper的連接與會話就是客戶端通過實例化Zookeeper對象來實現(xiàn)客戶端與服務端創(chuàng)建并保持TCP連接的過程.

  2.1 會話狀態(tài)

  在Zookeeper客戶端與服務端成功完成連接創(chuàng)建后,就創(chuàng)建了一個會話,Zookeeper會話在整個運行期間的生命周期中,會在不同的會話狀態(tài)中之間進行切換,這些狀態(tài)可以分為CONNECTING、CONNECTED、RECONNECTING、RECONNECTED、CLOSE等。

  一旦客戶端開始創(chuàng)建Zookeeper對象,那么客戶端狀態(tài)就會變成CONNECTING狀態(tài),同時客戶端開始嘗試連接服務端,連接成功后,客戶端狀態(tài)變?yōu)镃ONNECTED,通常情況下,由于斷網(wǎng)或其他原因,客戶端與服務端之間會出現(xiàn)斷開情況,一旦碰到這種情況,Zookeeper客戶端會自動進行重連服務,同時客戶端狀態(tài)再次變成CONNCTING,直到重新連上服務端后,狀態(tài)又變?yōu)镃ONNECTED,在通常情況下,客戶端的狀態(tài)總是介于CONNECTING和CONNECTED之間。但是,如果出現(xiàn)諸如會話超時、權限檢查或是客戶端主動退出程序等情況,客戶端的狀態(tài)就會直接變更為CLOSE狀態(tài)。

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式