更新時間:2020-06-05 13:59:16 來源:動力節點 瀏覽2118次
今天我們要一起復習的內容是Dubbo的基礎部分,包括了Dubbo的概念、認識RPC、Dubbo架構以及服務注冊中心Zookeeper,如果大家想好好認識一下Dubbo,就趕緊看看吧:
Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司開源的一個高性能、輕量級的開源Java RPC框架,可以和Spring框架無縫集成。Dubbo提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動注冊和發現。
RPC全稱為remote procedure call,是指整個網絡遠程調用過程。。兩臺服務器A和B,A服務器上部署一個應用,B服務器上部署一個應用,A服務器上的應用想調用B服務器上的應用提供的方法,由于兩個應用不在一個內存空間,不能直接調用,所以需要通過網絡來表達調用的語義和傳達調用的數據。RPC是一個泛化的概念,嚴格來說一切遠程過程調用手段都屬于RPC范疇。各種開發語言都有自己的RPC框架。Java中的RPC框架比較多,廣泛使用的有RMI、Hessian、Dubbo等。
(1)節點角色說明:
(2)調用關系說明:
a服務容器負責啟動,加載,運行服務提供者。
b服務提供者在啟動時,向注冊中心注冊自己提供的服務。
c服務消費者在啟動時,向注冊中心訂閱自己所需的服務。
d注冊中心返回服務提供者地址列表給消費者,如果有變更,注冊中心將基于長連接推送變e更數據給消費者。
f服務消費者,從提供者地址列表中,基于軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調用。
g服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心。
通過前面的Dubbo架構圖可以看到,Registry(服務注冊中心)在其中起著至關重要的作用。Dubbo官方推薦使用Zookeeper作為服務注冊中心。
(1)Zookeeper介紹
Zookeeper是Apache Hadoop的子項目,是一個樹型的目錄服務,支持變更推送,適合作為Dubbo服務的注冊中心,工業強度較高,可用于生產環境,并推薦使用。為了便于理解Zookeeper的樹型目錄服務,我們先來看一下電腦的文件系統(也是一個樹型目錄結構):
電腦可以分為多個盤符(例如C、D、E等),每個盤符下可以創建多個目錄,每個目錄下面可以創建文件,也可以創建子目錄,最終構成了一個樹型結構。通過這種樹型結構的目錄,我們可以將文件分門別類的進行存放,方便我們后期查找。而且磁盤上的每個文件都有一個唯一的訪問路徑,例如:C:\Windows\itcast\hello.txt。
(2)Zookeeper樹型目錄服務
-服務提供者(Provider)啟動時:向`/dubbo/com.foo.BarService/providers`目錄下寫入自己的URL地址
-服務消費者(Consumer)啟動時:訂閱`/dubbo/com.foo.BarService/providers`目錄下的提供者URL地址。并向`/dubbo/com.foo.BarService/consumers`目錄下寫入自己的URL地址
-監控中心(Monitor)啟動時:訂閱`/dubbo/com.foo.BarService`目錄下的所有提供者和消費者URL地址
(3)安裝Zookeeper
第一步:安裝jdk
第二步:把zookeeper的壓縮包(zookeeper-3.4.6.tar.gz)上傳到linux系統
第三步:解壓縮壓縮包
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
(4)啟動、停止Zookeeper
進入Zookeeper的bin目錄,啟動服務命令
./zkServer.sh start
停止服務命令
./zkServer.sh stop
查看服務狀態:
./zkServer.sh status
Java相關視頻教程
Dubbo視頻教程:http://www.dabaquan.cn/javavideo/129.html
以上就是動力節點java培訓機構的小編針對“編程視頻教程之Dubbo的基礎學習”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習