Dubbo環(huán)境搭建

最近剛剛貼上小豬佩奇的標簽,進入公司后接觸的一個項目,采用了springboot+dubbo+zookeeper的架構,對我來說,完全是一個全新的東西,但是為了能夠對這個項目進行全面的測試,必然要對測試對象有深入的了解。所以決定通過實踐來學習——自己搭建一個Dubbo服務。

1.1 Dubbo原理

Dubbo是一種分布式的服務器框架,致力于提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。主要用于解決負載均衡、容災等問題。
其基本原理可以通過一張圖來概括


dubbo原理.png

1.1.1 節(jié)點角色說明

Provider: 暴露服務的服務提供方。

Consumer: 調用遠程服務的服務消費方。

Registry: 服務注冊與發(fā)現(xiàn)的注冊中心。

Monitor: 統(tǒng)計服務的調用次調和調用時間的監(jiān)控中心。

Container: 服務運行容器。

1.1.2 調用關系說明

0.服務容器負責啟動,加載,運行服務提供者。

1.服務提供者在啟動時,向注冊中心注冊自己提供的服務。

2.服務消費者在啟動時,向注冊中心訂閱自己所需的服務。

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

4.服務消費者,從提供者地址列表中,基于軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調用。

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

1.2 環(huán)境配置

jdk1.8 + tomcat9 + zookeeper3.4.10 + dubbo2.5.10

1.3 zookeeper的安裝

zookeeper是一種分布式協(xié)調服務,我們的項目中選用了它,用于維護和監(jiān)控存儲的數(shù)據(jù)的狀態(tài)變化。通過監(jiān)控這些數(shù)據(jù)狀態(tài)的變化,從而可以達到基于數(shù)據(jù)的集群管理。

下載zookeeper安裝包 zookeeper-3.4.10下載,然后進入到conf目錄下,新建一個zoo.cfg

#tickTime: zookeeper中使用的基本時間單位,毫秒值。

#dataDir: 數(shù)據(jù)目錄,即自己下載的zookeeper的data目錄

#dataLogDir: log目錄, 同樣可以是任意目錄. 如果沒有設置該參數(shù), 將使用和#dataDir相同的設置

#clientPort: 監(jiān)聽client連接的端口號。

tickTime=2000

dataDir= /usr/local/zookeeper-3.4.10/data 

dataLogDir=/usr/local/zookeeper-3.4.10/logs

clientPort=2181

添加以上配置并保存后,進入zookeeper-3.4.10/bin目錄下 執(zhí)行./zkServer.sh start ,如圖所示,zookeeper啟動成功

zookeeper啟動

1.4 dobbo admin安裝

1.4.1 打包

安裝dubbo admin需要下載dubbo-admin的war包。為了避免版本的沖突問題,這里我選擇了自己打包。步驟很簡單,去官網(wǎng)下載dubbo源碼,然后進入到本地的dubbo-admin目錄

cd /Users/Jocelyn/Downloads/incubator-dubbo-dubbo-2.5.10/dubbo-admin

在該目錄下執(zhí)行編譯打包

mvn package -Dmaven.test.skip=true -e

這里加上-e控制Maven的日志級別,打印錯誤信息,便于定位執(zhí)行中可能遇到的問題,我這次打包的過程一直失敗,查看錯誤信息發(fā)現(xiàn)拋java.lang.ArrayIndexOutOfBoundsException: 31523 的錯誤,嘗試了很多辦法,最后重裝了一個3.5.3版本的maven,問題解決。

打包完成后,dubbo-admin下會生成一個target文件夾,如圖所示,可以在該文件夾下找到生成的war包。

dubbo目錄結構

然后將這個war包拷貝出來,放到 本地的ApacheTomcat/webapps目錄下。

1.4.2 修改dubbo的配置

進入/ApacheTomcat/webapps/dubbo-admin-2.5.10/WEB-INF修改dubbo.properties文件

dubbo.registry.address=zookeeper://127.0.0.1:2181

dubbo.admin.root.password=root

dubbo.admin.guest.password=guest

配置dubbo的注冊中心地址以及用戶名密碼。

1.4.3 啟動

以上工作完成之后,進入到/ApacheTomcat/bin目錄下啟動Tomcat,輸入命令:

 ./startup.sh

然后打開本地瀏覽器,輸入http://localhost:8080/dubbo-admin-2.5.10/,在彈框中輸入用戶名密碼。

DuangDuangDuang 就可以看到下圖頁面,dobbo環(huán)境就搭建完成了~

dubbo-admin啟動成功頁面

接下來就可以把dubbo和zookeeper集成到spring-boot中,之后將在另一篇文章中進行總結。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容