1.Dubbox簡介linux
Dubbox 是一個分佈式服務框架,其前身是阿里巴巴開源項目Dubbo ,被國內電商及互聯網項目中使用,後期阿里巴巴中止了該項目的維護,噹噹網便在Dubbo基礎上進行優化,並繼續維護,爲了與原有的Dubbo區分,故將其命名爲Dubbox。git
Dubbox 致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。簡單的說,dubbox就是個服務框架,若是沒有分佈式的需求,實際上是不須要用的,只有在分佈式的時候,纔有dubbox這樣的分佈式服務框架的需求,而且本質上是個服務調用的東東,說白了就是個遠程服務調用的分佈式框架。github
節點角色說明:web
Provider: 暴露服務的服務提供方。算法
Consumer: 調用遠程服務的服務消費方。瀏覽器
Registry: 服務註冊與發現的註冊中心。tomcat
Monitor: 統計服務的調用次調和調用時間的監控中心。服務器
Container: 服務運行容器。app
調用關係說明:負載均衡
0. 服務容器負責啓動,加載,運行服務提供者。
1. 服務提供者在啓動時,向註冊中心註冊本身提供的服務。
2. 服務消費者在啓動時,向註冊中心訂閱本身所需的服務。
3. 註冊中心返回服務提供者地址列表給消費者,若是有變動,註冊中心將基於長鏈接推送變動數據給消費者。
4. 服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一臺提供者進行調用,若是調用失敗,再選另外一臺調用。
5. 服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心。
2.註冊中心Zookeeper
2.1 Zookeeper 介紹
官方推薦使用 zookeeper 註冊中心。註冊中心負責服務地址的註冊與查找,至關於目錄服務,服務提供者和消費者只在啓動時與註冊中心交互,註冊中心不轉發請求,壓力較小。
Zookeeper 是 Apacahe Hadoop 的子項目,是一個樹型的目錄服務,支持變動推送,適合做爲Dubbox 服務的註冊中心,工業強度較高,可用於生產環境。
2.2 Zookeeper 在Linux系統的安裝
安裝步驟:
第一步:安裝 jdk (前面已經寫過)
第二步:
把 zookeeper 的壓縮包(d:\zookeeper-3.4.6.tar.gz)上傳到 linux 系統。(這個版本什麼的本身去下載)
Alt+P 進入SFTP ,輸入put d:\zookeeper-3.4.6.tar.gz 上傳
第三步:解壓縮壓縮包
tar -zxvf zookeeper-3.4.6.tar.gz
第四步:進入 zookeeper-3.4.6 目錄,建立 data 文件夾。mkdir data
第五步:進入conf目錄 ,把 zoo_sample.cfg 更名爲 zoo.cfg
cd conf
mv zoo_sample.cfg zoo.cfg
第六步:打開zoo.cfg , 修改 data 屬性:dataDir=/root/zookeeper-3.4.6/data
2.3Zookeeper 服務啓動
./zkServer.sh start
關閉服務輸入命令:./zkServer.sh stop
查看狀態:./zkServer.sh status
啓動:
未啓動:
3.管理中心的部署(控制檯)
1.下載源碼包:
下載地址:https://github.com/dangdangdotcom/dubbox
將此壓縮包解壓,在命令符下進入dubbo-admin目錄 ,輸入maven命令:mvn package -Dmaven.skip.test=true
若是你看到以下信息,就說明成功了
2.進入target文件夾,你會看到一個dubbo-admin-2.8.4.war , 在linux服務器上安裝tomcat, 將此war包上傳到linux服務器的tomcat的webapps下。爲了訪問方便,你能夠把版本號去掉。 啓動tomcat後自動解壓。
3.若是你部署在zookeeper同一臺主機而且端口是默認的2181,則無需修改任何配置。若是不是在一臺主機上或端口被修改,須要修改WEB-INF下的dubbo.properties ,修改以下配置:
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.properties默認配置:
4管理端使用
1.打開瀏覽器,輸入http://192.168.25.129:8080/dubbo-admin/,登陸用戶名和密碼均爲root 進入首頁。 (192.168.25.129:)是我部署的linux主機地址。
2.啓動服務提供者工程,便可在服務治理-提供者查看到該服務。
3.啓動服務消費者工程,運行頁面,觀察「消費者」列表