Dubbo,Zookeeper入門

  • Zookeeper
  1. 功能:分佈式應用程序協調服務,集羣管理者,監視集羣各個節點狀態-->提交反饋-->進行下一步合理操做;
  2. 機制:目錄方式,當目錄節點發生變化(數據改變,被刪除,子節點增長刪除)時,zookeeper會通知客戶端。
  3. 工做原理:核心原子廣播,保證server同步,實現是Zab協議:兩種模式:恢復模式(選主)和廣播模式(同步),服務器或領導者崩潰選主。
  4. 狀態:
    • LOOKING:server不知道leader是誰,正在搜尋;
    • LEADING:當前server是選舉出來的leader;
    • FOLLOWING:leader選舉出來,當前server與之同步;
  • Dubbo
  1. 功能:高性能服務框架:提供服務(把一些業務分離,變成服務,供他人調用)
  2. 原理:RPC遠程服務調用。SOA服務治理,Reactor模型通訊框架:tcp長鏈接
  3. 角色:provider(服務提供者),consumer(調用服務的消費者),registry(註冊中心),monitor(統計服務調用時間、次數的監控中心),container服務運行容器
  4. 關係:
    • container負責啓動、加載、運行provider
    • provider啓動時,向registry註冊提供的服務
    • consumer啓動時,向registry訂閱所需的服務
    • registry返回provider的地址列表給consumer,若是有變動,registry將基於長鏈接推送變動數據給consumer
    • consumer從provider的地址列表中,基於軟負載均衡算法,選一臺provider調用,調用失敗選另外一臺。
    • provider和consumer,在內存累計調用次數、時間定時每分鐘發送統計數據到monitor
        
以上是dubbo和zookeeper的理論概念,實踐可參考個人github上面的兩個小例子。
項目描述:兩個項目分別是生產者項目和消費者項目,爲了省事用springboot搭建,注意運行時能夠把生產者項目打包到本地倉庫,方便消費者項目的調用。
                
相關文章
相關標籤/搜索