1. 程式人生 > >分散式服務框架zookeeper

分散式服務框架zookeeper

  • 一個開源的分散式的,為分散式應用提供協調服務的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 新增對應的服務號
      • 在這裡插入圖片描述
    • 分發
    • 啟動 (每個註冊機器都要啟動)
      • bin/zkServer.sh start
        • 出現leader和follower就成功