溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Dubbo有哪些基礎(chǔ)知識(shí)

發(fā)布時(shí)間:2020-08-10 11:34:20 來源:億速云 閱讀:122 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)Dubbo有哪些基礎(chǔ)知識(shí),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1、Dubbo的概念

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

2、認(rèn)識(shí)RPC

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

3、Dubbo架構(gòu)

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

 

Dubbo有哪些基礎(chǔ)知識(shí)

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

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

b服務(wù)提供者在啟動(dòng)時(shí),向注冊(cè)中心注冊(cè)自己提供的服務(wù)。

c服務(wù)消費(fèi)者在啟動(dòng)時(shí),向注冊(cè)中心訂閱自己所需的服務(wù)。

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

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

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

4、服務(wù)注冊(cè)中心Zookeeper

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

(1)Zookeeper介紹

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

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

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

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

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

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

3)安裝Zookeeper

第一步:安裝 jdk

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

第三步:解壓縮壓縮包

         tar -zxvf zookeeper-3.4.6.tar.gz

第四步:進(jìn)入zookeeper-3.4.6目錄,創(chuàng)建data目錄

         mkdir data

第五步:進(jìn)入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)啟動(dòng)、停止Zookeeper

進(jìn)入Zookeeperbin目錄,啟動(dòng)服務(wù)命令

./zkServer.sh start

停止服務(wù)命令

./zkServer.sh stop

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

./zkServer.sh status

看完上述內(nèi)容,你們對(duì)Dubbo有哪些基礎(chǔ)知識(shí)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI