分散式服務框架zookeeper
阿新 • • 發佈:2018-12-15
- 一個開源的分散式的,為分散式應用提供協調服務的Apache專案
- 提供一個簡單的原語集合,以便於分散式應用可以在它之上構建更高層次的同步服務
- 設計非常易於程式設計,它使用的是類似於檔案系統那樣的樹形資料結構
- 目的就是將分散式服務不在需要由於協作衝突而另外實現協作服務
- 伺服器節點一般為基數
典型的應用場景
zookeeper從設計模式的角度來看,是一個基於觀察者模式設計的分散式服務管理框架,負責儲存和管理大家都關心的資料,然後接受觀察者的註冊,一旦這些資料的狀態發生變化,zk就負責通知已經在zk上註冊的那些觀察者做出相應的反應,從而實現叢集中類似Master/Slave管理模式
場景:
- 統一命名服務
- 配置管理
- 叢集管理
- 共享鎖/同步鎖
安裝
- 偽分散式
- 修改配置檔案
- 啟動伺服器端 bin/zkServer.sh start
- zk客戶端常見命令
- 分散式(我的安裝目錄: /opt/app/zookeeper-3.4.10)
- 配置檔案
- 在/opt/app/zookeeper-3.4.10/data/zkData目錄下新增一個名為myid的檔案
- touch myid
- vi myid 新增對應的服務號
- 分發
- scp -r zookeeper-3.4.10/ [email protected]:/opt/app
- 重配置myid檔案
- 啟動 (每個註冊機器都要啟動)
- bin/zkServer.sh start
- 出現leader和follower就成功
- bin/zkServer.sh start