先認識幾個概念:
1、分布式架構
分布:在一定的範圍內散佈開;反義詞:集中;
集中式架構:就是把所有的程式、功能、模組都集中到乙個專案中,部署在一台伺服器上,從而對外提供服務(單體架構、單體服務、單體應用)。
直白一點:就是只有乙個專案,只有乙個war;
分布式架構:就是把所有的程式、功能、模組拆分成不同的子專案,部署在多台不同的伺服器上,這些子專案相互協作共同對外提供服務。
直白一點:就是有很多專案,有很多war包,這些專案相互協作完成需要的功能,不是乙個war能完成的,乙個war包完成不了;
問題:集群 和 分布式 有什麼區別?
集群:就是將相同的程式、功能,部署在兩台或多台伺服器上,這些伺服器對外提供的功能是完全一樣的,集群是通過不斷橫向擴充套件增加伺服器的方式,以提高服務的能力。
分布式:就是將兩個或多個程式、功能分別執行在兩台或多台主機伺服器上,這些伺服器對外提供的功能並不一樣,它們通過相互協作最終完成某乙個服務或功能。
簡單地來說,如果兩台伺服器部署的程式完全一樣是集群,不一樣就是分布式。
分布式中的每乙個節點,都可以做集群,而集群並不一定就是分布式的。
分布式架構要解決那些問題?
分布式系統設計的本質就是:如何合理地將乙個系統拆分為多個子系統部署到多台不同伺服器上。因此需要解決如下幾個問題:
1、如何合理的拆分系統;
2、拆分後的各個子系統之間如何通訊;
3、如何適應不斷增長的業務需求,使其具有良好的可擴充套件性;
4、如何保證子系統的可靠性和資料的最終一致性;
所以分布式架構帶來了很大的複雜性,各個環節就出現了很多開源技術解決方案,進行分布式架構就需要使用很多技術;
zookeeper是乙個分布式的開放原始碼的分布式應用程式協調服務,也是乙個伺服器,是google的chubby乙個開源的實現,是hadoop和hbase的重要元件,在分布式領域使用廣泛。
zookeeper能做什麼?
配置管理:在上面存專案的配置資訊;
命名服務:服務名與ip的對映存在上面;
分布式鎖:多個併發訪問的協調;
集群管理:服務的宕機感知與處理;
在zookeeper的conf目錄下,將zoo_sample.cfg改名為zoo.cfg,
cp zoo_sample.cfg zoo.cfg
zookeeper啟動時會讀取該檔案作為預設配置檔案;
5配置檔案詳解
ticktime:zookeeper伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是每個 ticktime時間就會傳送乙個心跳,ticktime以毫秒為單位
initlimit:集群中的follower伺服器與leader伺服器之間初始連線時能容忍的最多心跳數(ticktime的數量)
synclimit:集群中的follower伺服器與leader伺服器之間請求和應答之間能容忍的最多心跳數(ticktime的數量)
datadir:儲存zookeeper的快照檔案、pid檔案,預設為/tmp/zookeeper,建議在zookeeper安裝目錄下建立data目錄,將datadir配置改為/usr/local/zookeeper-3.4.14/data
clientport:客戶端連線zookeeper的埠,即zookeeper對外的服務埠,預設為2181;
6啟動(切換到安裝目錄的bin目錄下):./zkserver.sh start
7關閉(切換到安裝目錄的bin目錄下):./zkserver.sh stop
檢視zookeeper的狀態: ./zkserver.sh status
常用的zookeeper用法:
./zkserver.sh
ZooKeeper安裝配置介紹
一 什麼是zookeeper?1 當成乙個 資料庫 儲存一些元件的元資訊 2 體系架構 二 搭建zookeeper環境 tar zxvf zookeeper 3.4.10.tar.gz c training 環境變數 zookeeper home root training zookeeper 3....
Zookeeper 介紹及Linux下安裝使用
zookeeper是源 開放的分布式協調服務,由雅虎建立,是google的開源實現。zookeeper是乙個高效能的分布式資料一致性解決方案,他將那些複雜的 容易出錯的分布式一致性服務封裝起來,構成乙個高效可靠的原語集,並提供一系列簡單易用的介面給使用者使用。典型應用場景 1.集群維護 master...
Zookeeper 安裝和配置
zookeeper的安裝和配置十分簡單,既可以配置成單機模式,也可以配置成集群模式.下面將分別進行介紹.bash ticktime 2000 clientport 4180 ticktime 2000 clientport 4180 引數說明 至此,zookeeper的單機模式已經配置好了.啟動se...