dubbo專案實戰

java架構源發表於2019-04-08

一、案例說明

相信有很多小夥伴都知道,dubbo是一個分散式、高效能、透明化的RPC服務框架,提供服務自動註冊、自動發現等高效服務治理方案,dubbo的中文文件也是非常全面的,如下圖所示:

dubbo專案實戰

二、Dubbo基礎介紹與環境搭建

1.Dubbo基礎介紹

Dubbo管理架構的變化如圖:

dubbo專案實戰
通過dubbo監控中心和後臺管理可以很好的監控dubbo服務,監控服務端服務和客戶端呼叫情況,呼叫次數,呼叫日誌,方便問題查詢。

2.環境搭建

安裝zookeepe解壓(zookeeper-3.4.8.tar.gz)得到如下:

dubbo專案實戰

然後進入conf將zoo_sample.cfg改名成zoo.cfg。並相關如下內容:


dubbo專案實戰

該目錄為存放資料的目錄。然後啟動,在bin目錄下:


dubbo專案實戰


dubbo專案實戰

三、工程建立

1、搭建B工程

1.匯入依賴


dubbo專案實戰

2.建立物件


dubbo專案實戰

3.建立服務


dubbo專案實戰

4.編寫Dubbo的配置檔案

位置我放在根目錄下dubbo/dubbo-server.xml,內容如下:


dubbo專案實戰

5.編寫Web.xml

dubbo專案實戰

6.啟動tomcat

在控制檯中將會看到如下內容:


dubbo專案實戰

可以看到,已經將UserService服務註冊到zookeeper註冊中心,協議採用的是dubbo。


2、搭建A工程

1.拷貝基本檔案

從b系統中拷貝User物件、UserService介面到a系統

.

dubbo專案實戰

2.編寫Dubbo的配置檔案

dubbo專案實戰

3.編寫UserService測試用例

dubbo專案實戰

檢視效果如下:

dubbo專案實戰

可以看到,已經查詢到10條資料,那麼,也就是說A系統通過B系統提供的服務獲取到了資料。

3、解決程式碼重複問題

我們可以看到,在上面的案例中User實體和服務介面兩個專案都需要使用,程式碼複用不高。那麼我們可以將該部分程式碼抽取出來打成包,以供所有系統使用。故可以在建立一個工程專案名為dubbo-b-api。然後將相關的程式碼都放到該專案中,再在其它專案中匯入該專案依賴即可。這也是我們在真實專案中應該做的事情,因為呼叫方未必知道細節。


相關文章