1. 程式人生 > >Dubbo原理簡單分析

Dubbo原理簡單分析

明顯,zookeeper可以被用作一個約會機制,讓參入的程序不在了解其他程序的(或網路)的情況下能夠彼此發現並進行互動,參入的各方甚至不必同時存在,只要在zookeeper留下一條訊息,在該程序結束後,另外一個程序還可以讀取這條資訊,從而解耦了各個節點之間的關係。
  zookeeper為叢集提供了一個共享儲存庫,叢集可以從這裡集中讀寫共享的資訊,避免了每個節點的共享操作程式設計,減輕了分散式系統的開發難度。

  zookeeper的設計採用的是觀察者的設計模式,zookeeper主要是負責儲存和管理大家關心的資料,然後接受觀察者的註冊,一旦這些資料的狀態發生變化,Zookeeper 就將負責通知已經在 Zookeeper 上註冊的那些觀察者做出相應的反應,從而實現叢集中類似 Master/Slave 管理模式。

   由此可見zookeeper很利於分散式系統開發,它能讓分散式系統更加健壯和高效。

  前不久我參加了部門的hadoop興趣小組,測試環境的hadoop、mapreduce、hive及hbase都是我來安裝的,安裝hbase時候安裝要預先安裝zookeeper,最早我是在四臺伺服器上都安裝了zookeeper,但是同事說安裝四臺和安裝三臺是一回事,這是因為zookeeper要求半數以上的機器可用,zookeeper才能提供服務,所以3臺的半數以上就是2臺了,4臺的半數以上也是兩臺,因此裝了三臺伺服器完全可以達到4臺伺服器的效果,這個問題說明zookeeper進行安裝的時候通常選擇奇數臺伺服器。在學習hadoop的過程中,我感覺zookeeper是最難理解的一個子

專案,原因倒不是它技術負責,而是它的應用方向很讓我困惑,所以從zookeeper開始,也不講具體技術實現,而從zookeeper的應用場景講起,理解了zookeeper應用的領域,我想再學習zookeeper就會更加事半功倍。