天天看點

Dubbo Admin 2.7.X 初探

開篇

  • 為了統一不同配置中心(如Zookeeper、Nacos、Etcd等)對于服務治理規則的實作,Dubbo2.7.3及之後的版本針對2.7.0以來的配置中心的部分實作進行了重構。
  • 從實際代碼來看,Dubbo Admin針對應用次元的配置的實際生效需要在Dubbo 2.7.3及以後的版本,為了友善debug建議Dubbo的版本是dubbo-2.7.4.1。

示範效果

Dubbo Admin 2.7.X 初探
Dubbo Admin 2.7.X 初探
Dubbo Admin 2.7.X 初探

配置中心

配置目錄結構

[zk] ls /dubbo/config/dubbo
[dubbo-demo-api-provider.configurators, dubbo-demo-api-consumer.configurators, org.apache.dubbo.demo.DemoService.configurators]           
  • Dubbo 2.7.X的配置中心目錄在/dubbo/config/dubbo,不在像Dubbo 2.6.X一樣在/dubbo/service/configurators下。
  • Dubbo 2.7.X的配置中心的指令規則為/dubbo/config/dubbo/applicationName. configName 或 /dubbo/config/dubbo/serviceName.configName

consumer側的配置

[zk] get /dubbo/config/dubbo/dubbo-demo-api-consumer.configurators
configs:
- addresses:
  - ''
  enabled: true
  parameters:
    weight: 111
  side: provider
  type: weight
enabled: false
key: dubbo-demo-api-consumer
scope: application


[zk] get /dubbo/config/dubbo/dubbo-demo-api-consumer.tag-router
enabled: true
force: false
key: dubbo-demo-api-consumer
priority: 0
runtime: false
tags:
- addresses:
  - 192.168.0.1:20881
  name: tag1
- addresses:
  - 192.168.0.2:20882
  name: tag2           

provider側的配置

[zk] get /dubbo/config/dubbo/dubbo-demo-api-provider.configurators
configs:
- addresses:
  - ''
  enabled: true
  parameters:
    weight: 10
  side: provider
  type: weight
- enabled: true
  parameters:
    loadbalance: leastactive
  side: consumer
  type: balancing
enabled: false
key: dubbo-demo-api-provider
scope: application


[zk] get /dubbo/config/dubbo/dubbo-demo-api-provider.condition-router
conditions:
- => host != 172.22.3.91
enabled: true
force: true
key: dubbo-demo-api-provider
priority: 0
runtime: false
scope: application


[zk] get /dubbo/config/dubbo/dubbo-demo-api-provider.tag-router
enabled: true
force: false
key: dubbo-demo-api-provider
priority: 0
runtime: false
tags:
- addresses:
  - 192.168.0.1:20881
  name: tag1
- addresses:
  - 192.168.0.2:20882
  name: tag2           

service緯度的配置

[zk] get /dubbo/config/dubbo/org.apache.dubbo.demo.DemoService.configurators
configs:
- addresses:
  - ''
  enabled: true
  parameters:
    weight: 10
  side: provider
  type: weight
- enabled: true
  parameters:
    .loadbalance: leastactive
  side: consumer
  type: balancing
enabled: false
key: org.apache.dubbo.demo.DemoService
scope: service           

Dubbo Admin 調試步驟

  • 1、官方git倉庫下載下傳dubbo-admin的源碼。
  • 2、參考官網運作步驟進行操作,啟動dubbo admin server和dubbo admin ui。
  • 3、運作dubbo admin server,dubbo admin server是一個标準的spring boot項目, 可以在任何java IDE中運作它。
  • 4、運作dubbo admin ui,dubbo admin ui由npm管理和建構,在開發環境中,可以單獨運作: npm run dev。
  • 5、官方git倉庫下載下傳dubbo源碼并切換分支到dubbo-2.7.4.1的分支。
  • 6、啟動org.apache.dubbo.demo.provider.Application作為provider運作。
  • 7、啟動org.apache.dubbo.demo.consumer.Application作為consumer運作。
  • 8、整個調試過程中請自行啟動zookeeper作為注冊中心,并修改provider和consumer的注冊中心位址。
  • 9、其他的實際請自行打斷點進行debug操作。