Dubbo生態再添新兵,許久未見的Dubbo Admin回來了!



爲了提高 Dubbo 里程碑版本2.7.0的使用體驗,於去年年中啓動了 Dubbo Admin 的重構計劃,並做爲Dubbo生態的子項目,於近期發佈了v0.1,重構後的項目在結構上的變化以下:前端

  • 將後端框架從Webx替換成Spring Bootjava

  • 前端採用Vue和Vuetify.js做爲開發框架git

  • 移除Velocity模板github

  • 集成Swagger,提供API管理功能面試

當前版本的Dubbo Admin包含了以前版本中的絕大部分功能,例如服務治理和服務查詢等,同時,也支持了Dubbo2.7中服務治理的新特性。apache

Demo地址:後端

http://47.91.207.147/#/service 服務器

GitHub: 架構

https://github.com/apache/incubator-dubbo-opsapp

Dubbo Admin做爲獨立項目發佈的考慮

Dubbo Admin 控制檯和Dubbo核心功能的耦合度比較低,功能上的差別也比較大,部署的形態以及各自的發佈節奏也不太同樣;Dubbo是做爲進程的運行時依賴,而控制檯須要有獨立的Server部署。所以,咱們將 Dubbo Admin 做爲獨立的項目在社區進行發佈。

小編分類整理了許多java進階學習材料和BAT面試題,須要資料的請加JAVA高階學習Q羣:8515318105;就能領取2019年java架構師進階學習資料和BAT面試題。

配置規範

因爲在Dubbo2.7中,配置中心和註冊中心作了分離,而且增長了元數據中心,所以Dubbo Admin的配置方式也作了更新,application.properties中的配置以下:

也能夠和Dubbo2.7同樣,在配置中心指定元數據和註冊中心的地址,以ZooKeeper爲例,配置的路徑和內容以下:

配置中內心的地址會覆蓋掉本地application.properties的配置。

功能介紹

功能上,主要延續了以前版本的功能,包括服務查詢和服務治理,2.7版本在服務治理的功能上有了很大的改進,這些改進也大部分都會以Dubbo Admin做爲入口來體現。

小編分類整理了許多java進階學習材料和BAT面試題,須要資料的請加JAVA高階學習Q羣:8515318105;就能領取2019年java架構師進階學習資料和BAT面試題。

  • 標籤路由

標籤路由是Dubbo2.7引入的新功能,配置以應用做爲維度,給不一樣的服務器打上不一樣名字的標籤,配置以下圖所示:

調用的時候,客戶端能夠經過setAttachment的方式,來設置不一樣的標籤名稱,好比本例中,setAttachment(tag1),客戶端的選址範圍就在如圖所示的三臺機器中,能夠經過這種方式來實現流量隔離,灰度發佈等功能。

  • 應用級別的服務治理

在Dubbo2.6及更早版本中,全部的服務治理規則都只針對服務粒度,若是要把某條規則做用到應用粒度上,須要爲應用下的全部服務配合相同的規則,變動,刪除的時候也須要對應的操做,這樣的操做很不友好,所以Dubbo2.7版本中增長了應用粒度的服務治理操做,對於條件路由(包括黑白名單),動態配置(包括權重,負載均衡)均可以作應用級別的配置:

上圖是條件路由的配置,能夠按照應用名,服務名兩個維度來填寫,也能夠按照這兩個維度來查詢。

條件路由,標籤路由和動態配置都採用了yaml格式的文本編寫,其餘的規則配置仍是採用了表單的形式。

小編分類整理了許多java進階學習材料和BAT面試題,須要資料的請加JAVA高階學習Q羣:8515318105;就能領取2019年java架構師進階學習資料和BAT面試題。

Dubbo2.6到Dubbo2.7,服務治理髮生了比較大的變化,Dubbo Admin兼容兩個版本的用法以下:

  • 對於服務級別的配置,會按照Dubbo2.6(URL)和Dubbo2.7(配置文件)兩種格式進行寫入,保證Dubbo2.6的客戶端可以正確讀取,解析規則;

  • 對於應用級別的配置,包括標籤路由,只會按照Dubbo2.7的格式進行寫入,由於Dubbo2.6無此功能,不須要作向前兼容;

  • Dubbo Admin只會按照Dubbo2.7的格式進行配置讀取,所以,全部在Dubbo Admin上作的配置均可以被讀到,可是以前遺留的,Dubbo2.6格式的URL沒法被讀取;

  • 對於同一個應用或者服務,每種規則只可以配置一條,不然新的會覆蓋舊的;

  • 配置管理

配置管理也是配合Dubbo2.7新增的功能,在Dubbo2.7中,增長了全局和應用維度的配置,

👆 全局配置

全局配置裏能夠指定註冊中心、元數據中心的地址,服務端和客戶端的超時時間等,這些配置在全局內生效。除了配置寫入,也能夠用來查看。若是使用ZooKeeper做爲註冊中心和元數據中心,還能夠看到配置文件所在位置的目錄結構。

👆 應用和服務配置

應用級別的配置能夠爲應用或者應用內的服務指定配置,在服務維度上,須要區分提供者和消費者。dubbo.reference.{serviceName}表示做爲該服務消費者的配置,dubbo.provider.{servcieName}表示做爲該服務提供者的配置。優先級服務 > 應用 > 全局。其中註冊中心和元數據中心的地址,只能在全局配置中指定,這也是Dubbo2.7中推薦的使用方式。

  • 元數據和服務測試

元數據是Dubbo2.7中新引入的元素,主要的使用場景就在Dubbo Admin中,主要體如今服務詳情展現和服務測試這兩個地方:

👆服務詳情展現

跟以前版本相比,Dubbo2.7中增長了對服務方法完整簽名的記錄,所以服務詳情中也增長了方法信息的詳情,能夠看到方法名,方法參數列表以及返回值信息。

👆服務測試

更重要的,元數據爲服務測試提供了數據基礎,能夠在頁面上調用真實的服務提供者,方便測試,也不須要爲了調用服務去搭建一套Dubbo環境以及編寫消費端代碼。

小編分類整理了許多java進階學習材料和BAT面試題,須要資料的請加JAVA高階學習Q羣:8515318105;就能領取2019年java架構師進階學習資料和BAT面試題。

相關文章
相關標籤/搜索