Dubbo Admin 部署

前言

你們好,今天開始給你們分享 — Dubbo 專題之 Dubbo Admin 部署。在前一個章節中咱們介紹了 Dubbo 服務治理,以及咱們也從架構的演進進行探討分佈式發展的背景,同時咱們知道 Dubbo 中的服務治理主要做用是改變運行時服務的行爲和選址邏輯、達到限流、權重配置等目的,其中 Dubbo 服務治理提供了:服務發現註冊、服務監控、集羣容錯、負載均衡、黑白名單、標籤路由、條件路由、權重調節等能力。那有的小夥伴想知道這些服務治理咱們在那裏能夠管理和維護呢 ?那麼本章節就圍繞着咱們要使用的服務治理管理控制檯展開。下面就讓咱們快速開始吧!前端

1. Dubbo Admin 簡介

下面來自於官網的簡介:Dubbo Admin 在架構上採起了先後端分離的方式,前端使用 VueVuetify 分別做爲 Javascript 框架和 UI 框架,後端採用 Spring Boot 框架。既能夠按照標準的 Maven 方式進行打包、部署,也能夠採用先後端分離的部署方式方便開發,功能上:目前具有了服務查詢、服務治理以及服務測試三部份內容。咱們能夠簡單總結爲:Dubbo Admin 採用標準的 SpringBoot 和先後端分離的架構設計,同時爲咱們提供了:服務治理、服務查詢、服務測試等功能。java

2. 服務治理能力

在前面《Dubbo 服務治理簡介》咱們已經討論了 Dubbo 服務治理相關話題,那麼在咱們的 Dubbo Admin 都提供哪些服務治理能力呢?下面咱們總結了平常工做中常使用的服務治理能力:git

  1. 服務管理
Tips:包括消費者/服務者的服務查詢、服務上下線、元數據展現。
  1. 服務測試
Tips:基於Dubbo2.7的元數據,Dubbo Admin 實現了服務測試功能,能夠經過泛化調用,在控制檯上調用真實的服務提供者。
  1. 服務治理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 新增的功能

3. 示例演示

下面咱們開始演示 Dubbo Admin 的快速部署。如下介紹三種部署方式:

Docker 部署

  1. 拉取鏡像
docker pull apache/dubbo-admin
  1. 啓動鏡像
docker run -p 8080:8080 apache/dubbo-admin
Tips:這裏小夥伴提早安裝 Docker 相關環境,同時這裏默認使用本地 zookeeper 且默認端口爲2181。同時咱們也能夠指定外部參數改變默認行爲: admin.registry.addressadmin.config-centeradmin.metadata-report.address。這裏鏡像最新版本爲: 0.1.0官網沒有發佈最新鏡像包,這種方式不推薦使用。
  1. 訪問http://localhost:8080
  2. 生成環境部署

    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

  1. 開發環境部署

    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-uinpm 管理和構建,在開發環境中,能夠單獨運行: npm run dev

    5.3 訪問 http://localhost:8080

    Tips:這裏須要咱們安裝 npm 相關環境。

當咱們成功部署 Dubbo Admin 後咱們能夠看到以下頁面:

idea

Tips:登陸後臺默認帳戶: root 密碼: root

4. 小結

在本小節中咱們主要學習了 Dubbo 中 Admin 服務治理平臺的部署。同時知道了 Dubbo Admin 給咱們服務治理提供了:服務管理、服務治理、服務治理、服務統計、配置管理等相關能力。經過 Dubbo Admin 的服務治理能力咱們能夠動態的管理咱們的服務路由策略、負載均衡機制、容錯策略、動態配置等能力。

本節課程的重點以下:

  1. 理解 Dubbo 服務治理
  2. 學習了 Dubbo Admin 的部署方式
  3. 瞭解 Dubbo Admin 中服務治理能力

做者

我的從事金融行業,就任過易極付、思建科技、某網約車平臺等重慶一流技術團隊,目前就任於某銀行負責統一支付系統建設。自身對金融行業有強烈的愛好。同時也實踐大數據、數據存儲、自動化集成和部署、分佈式微服務、響應式編程、人工智能等領域。同時也熱衷於技術分享創立公衆號和博客站點對知識體系進行分享。關注公衆號: 青年IT男 獲取最新技術文章推送!

博客地址: http://youngitman.tech

微信公衆號:

相關文章
相關標籤/搜索