編程視頻教程之Dubbo的基礎(chǔ)學(xué)習(xí)

編程視頻教程之Dubbo的基礎(chǔ)學(xué)習(xí)

深圳達(dá)內(nèi)教育      2022-04-04 11:35:01     13

編程視頻教程之Dubbo的基礎(chǔ)學(xué)習(xí),今天我們要一起復(fù)習(xí)的內(nèi)容是Dubbo的基礎(chǔ)部分,包括了Dubbo的概念、認(rèn)識RPC、Dubbo架構(gòu)以及服務(wù)注冊中心Zookeeper,如果大家想好

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細(xì)介紹

今天我們要一起復(fù)習(xí)的內(nèi)容是Dubbo的基礎(chǔ)部分,包括了Dubbo的概念、認(rèn)識RPC、Dubbo架構(gòu)以及服務(wù)注冊中心Zookeeper,如果大家想好好認(rèn)識一下Dubbo,就趕緊看看吧:

1.Dubbo的概念

Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司開源的一個高性能、輕量級的開源Java RPC框架,可以和Spring框架無縫集成。Dubbo提供了三大核心能力:面向接口的遠(yuǎn)程方法調(diào)用,智能容錯和負(fù)載均衡,以及服務(wù)自動注冊和發(fā)現(xiàn)。

2.認(rèn)識RPC

RPC全稱為remote procedure call,是指整個網(wǎng)絡(luò)遠(yuǎn)程調(diào)用過程。。兩臺服務(wù)器A和B,A服務(wù)器上部署一個應(yīng)用,B服務(wù)器上部署一個應(yīng)用,A服務(wù)器上的應(yīng)用想調(diào)用B服務(wù)器上的應(yīng)用提供的方法,由于兩個應(yīng)用不在一個內(nèi)存空間,不能直接調(diào)用,所以需要通過網(wǎng)絡(luò)來表達(dá)調(diào)用的語義和傳達(dá)調(diào)用的數(shù)據(jù)。RPC是一個泛化的概念,嚴(yán)格來說一切遠(yuǎn)程過程調(diào)用手段都屬于RPC范疇。各種開發(fā)語言都有自己的RPC框架。Java中的RPC框架比較多,廣泛使用的有RMI、Hessian、Dubbo等。

3.Dubbo架構(gòu)

(1)節(jié)點角色說明:

(2)調(diào)用關(guān)系說明:

a服務(wù)容器負(fù)責(zé)啟動,加載,運行服務(wù)提供者。

b服務(wù)提供者在啟動時,向注冊中心注冊自己提供的服務(wù)。

c服務(wù)消費者在啟動時,向注冊中心訂閱自己所需的服務(wù)。

d注冊中心返回服務(wù)提供者地址列表給消費者,如果有變更,注冊中心將基于長連接推送變e更數(shù)據(jù)給消費者。

f服務(wù)消費者,從提供者地址列表中,基于軟負(fù)載均衡算法,選一臺提供者進行調(diào)用,如果調(diào)用失敗,再選另一臺調(diào)用。

g服務(wù)消費者和提供者,在內(nèi)存中累計調(diào)用次數(shù)和調(diào)用時間,定時每分鐘發(fā)送一次統(tǒng)計數(shù)據(jù)到監(jiān)控中心。

4.服務(wù)注冊中心Zookeeper

通過前面的Dubbo架構(gòu)圖可以看到,Registry(服務(wù)注冊中心)在其中起著至關(guān)重要的作用。Dubbo官方推薦使用Zookeeper作為服務(wù)注冊中心。

(1)Zookeeper介紹

Zookeeper是Apache Hadoop的子項目,是一個樹型的目錄服務(wù),支持變更推送,適合作為Dubbo服務(wù)的注冊中心,工業(yè)強度較高,可用于生產(chǎn)環(huán)境,并推薦使用。為了便于理解Zookeeper的樹型目錄服務(wù),我們先來看一下電腦的文件系統(tǒng)(也是一個樹型目錄結(jié)構(gòu)):

電腦可以分為多個盤符(例如C、D、E等),每個盤符下可以創(chuàng)建多個目錄,每個目錄下面可以創(chuàng)建文件,也可以創(chuàng)建子目錄,最終構(gòu)成了一個樹型結(jié)構(gòu)。通過這種樹型結(jié)構(gòu)的目錄,我們可以將文件分門別類的進行存放,方便我們后期查找。而且磁盤上的每個文件都有一個唯一的訪問路徑,例如:C:Windowsitcasthello.txt。

(2)Zookeeper樹型目錄服務(wù)

-服務(wù)提供者(Provider)啟動時:向`/dubbo/com.foo.BarService/providers`目錄下寫入自己的URL地址

-服務(wù)消費者(Consumer)啟動時:訂閱`/dubbo/com.foo.BarService/providers`目錄下的提供者URL地址。并向`/dubbo/com.foo.BarService/consumers`目錄下寫入自己的URL地址

-監(jiān)控中心(Monitor)啟動時:訂閱`/dubbo/com.foo.BarService`目錄下的所有提供者和消費者URL地址

(3)安裝Zookeeper

第一步:安裝jdk

第二步:把zookeeper的壓縮包(zookeeper-3.4.6.tar.gz)上傳到linux系統(tǒng)

第三步:解壓縮壓縮包

tar-zxvf zookeeper-3.4.6.tar.gz

第四步:進入zookeeper-3.4.6目錄,創(chuàng)建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目錄,啟動服務(wù)命令

./zkServer.sh start

停止服務(wù)命令

./zkServer.sh stop

查看服務(wù)狀態(tài):

./zkServer.sh status

Java相關(guān)視頻教程

Dubbo視頻教程:http://www.bjpowernode.com/javavideo/129.html

以上就是深圳達(dá)內(nèi)教育java培訓(xùn)機構(gòu)的小編針對“編程視頻教程之Dubbo的基礎(chǔ)學(xué)習(xí)”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

Java視頻教程

培訓(xùn)啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹(jǐn)防上當(dāng)。