目錄
架構介紹
示例代碼閱讀
示例運行
總結
上篇文章,我們已經運行過soul-examples-http示例,對soul的基本使用有了一個基本的了解,本次我們不妨再來熟悉下比較熱門的微服務框架Dubbo如何整合使用,
架構介紹

先來看一下上面的架構圖,業務端請求到soul網關,網關會獲取讀取到soul-admin的注冊的配置資訊,然后拿到配置資訊去dubbo服務中心獲取對應的服務,并路由轉發請求服務到后臺服務器,
而后臺dobbo服務啟動后將后寫入配置和元資料到soul-admin控制臺進行管理,并將服務注冊到服務中心,
示例代碼閱讀

打開soul-examples-dubbo的模塊,里邊有三個子模塊,咱們不妨每個子模塊打開仔細來瞧瞧里面做了啥,
(1)soul-examples-dubbo-api代碼閱讀

里邊的目錄結構是比較簡單的,就一個entity包和一個service包,都只做了一個最簡單的事情,物件定義和介面的定義,

再來看下pom.xml檔案,貌似沒引入啥東西,由此可以看出該子模塊是為其它兩個模塊服務而定義的基本物件和介面,
(2)soul-examples-apache-dubbo-service代碼閱讀

同樣打開包看一下,里面是做了api定義的兩個介面的實作,通過@SoulDubboClient注解,將會把api介面注冊到soul-admin,

再來看下application.yml檔案,配置了soul-admin的地址以及埠,并且配置了自己的server埠為8011,

spring-dubbo.xml組態檔里是dubbo的一些基本配置,如服務中心的配置,這里以zookeeper作為服務注冊中心,dobbo協議的配置,dobbo服務的配置等,

最后再來瞧一下pom.xml檔案,引入了soul-spring-boot-starter-client-apache-dubbo包,業務開發通過使用@SoulDubboClient注解可以將獎配置自動注冊到soul-admin,其它相關的依賴包就是基本的一些dubbo配置了,如果對dubbo不熟,不妨可以閱讀《芋道 Spring Boot Dubbo 入門》文章,筆者也未在作業中使用過dubbo,也是看了這篇文章有了一些基本了解,
(3)soul-examples-alibaba-dubbo-service代碼閱讀
基本與第二個模塊,使用也一致,兩者可以簡單認為是版本的不一致,不做過多重復介紹,
示例運行
run TestApacheDubboApplication,運行報錯,提示api程式包不存在,報錯截圖如下所示:

再次檢查了pom.xml的檔案配置,沒有問題,最終網上找到處理小技巧如下:
對于 idea 下的 maven 工程,特別是從其他地方匯入的新工程,右邊 maven 管理工具中 dependencies 若出現紅色波浪線,通常用以下方式嘗試解決,
(1)檢查 repository 和 settings.xml檔案中配置的倉庫地址,File --> settings 輸入maven,檢查local repository的配置和settings.xml中配置的倉庫地址,
(2)打開專案 pom.xml 檔案,右鍵 maven --> reimport ,等待maven重新加載依賴,
(3)同上面操作一樣,可以同時對整個專案的所有pom.xml檔案進行reimport,打開編譯器右邊的maven管理工具,點擊reimport all maven projects,
參考鏈接:https://www.jianshu.com/p/45a609b2049f
解決上述問題后,再次運行,再次報錯,報錯截圖如下:

一看zookeeper沒有安裝,缺啥補啥,官網下載zookeeper安裝包,簡單修改下配置,即可起一個單機zookeeper起來,如果是windows可以參考https://www.cnblogs.com/RainAndWind/p/4668427.html,
再次run,終于run起來了,

打開soul-admin頁面,默認在途中的dubbo插件是關閉狀態,編輯打開它,并檢查是否配置已正常注冊,截圖如下,查看到都已正常,

最后一步,打開postman發送請求,請求soul-bootstrap網關,訪問dubbo服務成功,

總結
對dubbo服務的接入原理以及使用,我們到此大概也已經有個基本了解了,那么讓我們再回到文章開頭的那個架構圖,soul是泛化呼叫dubbo服務的,那么怎么理解這個泛化呼叫的?代碼是怎么處理的呢?留著這個疑問,后面咱們繼續,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/249890.html
標籤:其他
上一篇:ActiveMQ(一):入門概述
下一篇:軟體工程復習重點
