天天看點

Dubbo+Zookeeper

zookeeper-3.4.9.tar.gz

解壓zookeeper-3.4.9.tar.gz

将/opt/zookeeper-3.4.9/conf/zoo_sample.cfg複制為/opt/zookeeper-3.4.9/conf/zoo.cfg

建立目錄:/opt/zookeeper-3.4.9/data

修改/opt/zookeeper-3.4.9/conf/zoo.cfg檔案

建立服務端工程:

引入依賴:

Spring配置檔案:

配置檔案:

ZooKeeper=檔案系統+通知機制

檔案系統:ZooKeeper使用樹形結構管理資料。而且以“/”作為樹形結構的根節點。

通知機制:用ZooKeeper的通知機制後,各個子產品工程在特定znode上設定Watcher(觀察者)來監控目前節點上值的變化。一旦Watcher檢測到了資料變化就會立即通知子產品工程,進而自動實作“一處修改,處處生效”的效果。

常用指令:

czxid:引起這個znode建立的zxid,建立節點的事務的zxid(ZooKeeper Transaction Id)

ctime:znode被建立的毫秒數(從1970年開始)

mzxid:znode最後更新的zxid

mtime:znode最後修改的毫秒數(從1970年開始)

pZxid:znode最後更新的子節點zxid

cversion:znode子節點變化号,znode子節點修改次數

dataversion:znode資料變化号

aclVersion:znode通路控制清單的變化号

ephemeralOwner:如果是臨時節點,這個是znode擁有者的session id。如果不是臨時節點則是0。

dataLength:znode的資料長度

numChildren:znode子節點數量

ruok:測試服務是否處于正确狀态。如果确實如此,那麼服務傳回“imok ”,否則不做任何響應

stat:輸出關于性能和連接配接的用戶端的清單

conf:輸出相關服務配置的詳細資訊

cons:列出所有連接配接到伺服器的用戶端的完全的連接配接 /會話的詳細資訊。包括“接受 / 發送”的包數量、會話id 、操作延遲、最後的操作執行等等資訊

dump:列出未經處理的會話和臨時節點

envi:輸出關于服務環境的詳細資訊(差別于conf指令)

reqs:列出未經處理的請求

wchs:列出伺服器watch的詳細資訊

wchc:通過session列出伺服器watch的詳細資訊,它的輸出是一個與watch相關的會話的清單

wchp:通過路徑列出伺服器 watch的詳細資訊。它輸出一個與 session相關的路徑

 依賴資訊:

Java操作代碼:

測試使用代碼:

Dubbo+Zookeeper
Dubbo+Zookeeper

代碼實作: