你們好,今天開始給你們分享 — Dubbo 專題之 Dubbo Admin 部署。在前一個章節中咱們介紹了 Dubbo 服務治理,以及咱們也從架構的演進進行探討分佈式發展的背景,同時咱們知道 Dubbo 中的服務治理主要做用是改變運行時服務的行爲和選址邏輯、達到限流、權重配置等目的,其中 Dubbo 服務治理提供了:服務發現註冊、服務監控、集羣容錯、負載均衡、黑白名單、標籤路由、條件路由、權重調節等能力。那有的小夥伴想知道這些服務治理咱們在那裏能夠管理和維護呢 ?那麼本章節就圍繞着咱們要使用的服務治理管理控制檯展開。下面就讓咱們快速開始吧!前端
下面來自於官網的簡介:Dubbo Admin 在架構上採起了先後端分離的方式,前端使用 Vue
和 Vuetify
分別做爲 Javascript
框架和 UI
框架,後端採用 Spring Boot
框架。既能夠按照標準的 Maven 方式進行打包、部署,也能夠採用先後端分離的部署方式方便開發,功能上:目前具有了服務查詢、服務治理以及服務測試三部份內容。咱們能夠簡單總結爲:Dubbo Admin 採用標準的 SpringBoot
和先後端分離的架構設計,同時爲咱們提供了:服務治理、服務查詢、服務測試等功能。java
在前面《Dubbo 服務治理簡介》咱們已經討論了 Dubbo 服務治理相關話題,那麼在咱們的 Dubbo Admin 都提供哪些服務治理能力呢?下面咱們總結了平常工做中常使用的服務治理能力:git
Tips:包括消費者/服務者的服務查詢、服務上下線、元數據展現。
Tips:基於Dubbo2.7的元數據,Dubbo Admin 實現了服務測試功能,能夠經過泛化調用,在控制檯上調用真實的服務提供者。
服務治理github
3.1 條件路由spring
Tips:經過動態的配置相關條件進行過濾符合條件的服務提供者。 能夠配置服務和應用兩個維度,條件路由爲
yaml
格式。
3.2 標籤路由docker
Tips:經過給不一樣提供者打上標籤,相同標籤爲同一組服務,調用端經過指定標籤進行服務分組的選擇。配置以應用做爲維度,給不一樣的服務器打上不一樣名字的標籤。注意:Dubbo 2.7 引入的新功能。
3.3 黑白名單shell
Tips:條件路由的一部分,規則存儲和條件路由放在一塊兒,爲了方便配置因此單獨拿出來,一樣能夠經過服務和應用兩個維度,指定黑名單和白名單。
3.4 動態配置apache
Tips:動態配置是和路由規則平行的另外一類服務治理治理功能,主要做用是在不重啓服務的狀況下,動態改變調用行爲,從Dubbo2.7 版本開始,支持服務和應用兩個維度的配置,採用
yaml
格式
3.5 權重調整npm
Tips:經過動態調整服務端的權重改變服務被客戶端選中的機率,從而達到流量分配的目的。
3.6 負載均衡編程
Tips:經過動態調整客戶端的選址邏輯,目前可選的負載均衡策略有隨機,輪訓和最小活躍
3.7 服務統計
3.8 服務統計
Tips:統計服務提供方、服務消費方調用方法
qps
和成功率等信息和線程池線程使用狀況等信息。
3.9 服務調用關係
Tips:顯示咱們的服務調用關係拓撲圖。
3.10 配置管理
Tips:經過註解中心或者配置中心來存儲全局和應用維度的配置,分別在全局和應用範圍內生效,其中應用配置也能夠指定該應用中的服務級別的配置,能夠在控制檯中查看,修改配置規則,默認展現全局維度的配置。注意:Dubbo2.7 新增的功能
下面咱們開始演示 Dubbo Admin 的快速部署。如下介紹三種部署方式:
Docker 部署
docker pull apache/dubbo-admin
docker run -p 8080:8080 apache/dubbo-admin
Tips:這裏小夥伴提早安裝 Docker 相關環境,同時這裏默認使用本地 zookeeper 且默認端口爲2181。同時咱們也能夠指定外部參數改變默認行爲:admin.registry.address
、admin.config-center
、admin.metadata-report.address
。這裏鏡像最新版本爲:0.1.0
官網沒有發佈最新鏡像包,這種方式不推薦使用。
http://localhost:8080
生成環境部署
4.1 clone
代碼: git clone https://github.com/apache/dubbo-admin.git
4.2 在 dubbo-admin-server/src/main/resources/application.properties
中指定註冊中心地址
admin.registry.address=zookeeper://127.0.0.1:2181
4.3 使用 maven
構建
mvn clean package
4.4 啓動應用
mvn --projects dubbo-admin-server spring-boot:run
或者
cd dubbo-admin-distribution/target; java -jar dubbo-admin-0.1.jar
4.5 訪問 http://localhost:8080
開發環境部署
5.1 clone
代碼: git clone https://github.com/apache/dubbo-admin.git
5.2 Idea
加載源碼
運行dubbo-admin-server
項目的Main
方法。因爲 dubbo-admin-server
是一個標準的spring boot項目, 能夠在任何java IDE中運行它
運行dubbo-admin-ui
。由於dubbo-admin-ui
由 npm
管理和構建,在開發環境中,能夠單獨運行: npm run dev
5.3 訪問 http://localhost:8080
Tips:這裏須要咱們安裝
npm
相關環境。
當咱們成功部署 Dubbo Admin 後咱們能夠看到以下頁面:
Tips:登陸後臺默認帳戶:root
密碼:root
。
在本小節中咱們主要學習了 Dubbo 中 Admin 服務治理平臺的部署。同時知道了 Dubbo Admin 給咱們服務治理提供了:服務管理、服務治理、服務治理、服務統計、配置管理等相關能力。經過 Dubbo Admin 的服務治理能力咱們能夠動態的管理咱們的服務路由策略、負載均衡機制、容錯策略、動態配置等能力。
本節課程的重點以下:
我的從事金融行業,就任過易極付、思建科技、某網約車平臺等重慶一流技術團隊,目前就任於某銀行負責統一支付系統建設。自身對金融行業有強烈的愛好。同時也實踐大數據、數據存儲、自動化集成和部署、分佈式微服務、響應式編程、人工智能等領域。同時也熱衷於技術分享創立公衆號和博客站點對知識體系進行分享。關注公衆號: 青年IT男 獲取最新技術文章推送!
博客地址: http://youngitman.tech
微信公衆號: