Dubbo-Admin 功能展示与实操解析
服務信息
服務列表以接口為維度展示出所提供的服務信息,并按照注冊來源接口級/應用級進行區(qū)分。
服務詳情頁面展示接口的提供者與消費者信息和接口的方法等信息。
動態(tài)路由
條件路由
條件路由可以編寫一些自定義路由規(guī)則實現(xiàn)一些服務治理的需求比如黑白名單、讀寫分離等。條件路由可以在接口級別和消費者應用級別創(chuàng)建規(guī)則。
創(chuàng)建條件路由規(guī)則需要填寫 interface、version、group 信息(version、group無則不填),下圖展示一個簡單的黑名單配置,=>?左邊代表消費者匹配條件,右邊代表provider匹配條件(無代表沒有匹配)具體規(guī)則詳情參考官網(wǎng)(具體請見文末相關鏈接)。所以配置的含義為consumer ip 為 192.168.1.3 的消費者沒有 provider 提供服務。
標簽路由
標簽路由通過將某一個或多個服務的提供者劃分到同一個分組,約束流量只在指定分組中流轉,從而實現(xiàn)流量隔離的目的,可以作為藍綠發(fā)布、灰度發(fā)布等場景的能力基礎。在 provider 應用級別上創(chuàng)建規(guī)則,對于的靜態(tài)打標為:
dubbo.provider.tag=tag1 @DubboService(tag = "tag2")Mesh 路由
Mesh 路由是 3.0 版本推出的新的流量管理策略,支持更多的條件匹配和組合可以輕松實現(xiàn)各種路由功能。將整個流量管理分成 VirtualService 和 DestinationRule 兩部分,VirtualService 匹配入口流量,DestinationRule 匹配出口流量。詳細規(guī)則參考文檔(具體請見文末相關鏈接)。
案例
一個接口?org.test.apache.dubbo.interfaces.HelloService#hi(Integer number)?參數(shù) number 為 Integer 類型,下述規(guī)則表示當 number 為偶數(shù)匹配 label 為 v1 的 provider (即 url 參數(shù)帶有 test-version = v1 的服務),當為奇數(shù)匹配 label 為 v2 的 provider (即 url 參數(shù)帶有 test-version = v2 的服務),可以通過?dubbo.application.parameters.test-version = v1?給服務打標,實現(xiàn)一個簡單的灰度功能。
apiVersion: service.dubbo.apache.org/v1alpha1 kind: VirtualService metadata:name: demo/oddEvenRouter spec:dubbo:- routedetail:- match:- method:argc: 1args:- index: 0num_value:oneof:- exact: 0.0mod: 2.0type: intname_match:exact: hiname: even-routeroute:- destination:host: demosubset: v1- match:- method:argc: 1args:- index: 0num_value:oneof:- exact: 1.0mod: 2.0type: intname_match:exact: hiname: odd-routeroute:- destination:host: demo2subset: v2 services:- exact: org.test.apache.dubbo.interfaces.HelloService --- apiVersion: service.dubbo.apache.org/v1alpha1 kind: DestinationRule metadata:name: test-route spec:host: demosubsets:- name: v1labels:test-version: v1- name: v2labels:test-version: v2動態(tài)配置
動態(tài)配置提供了無須重啟可以動態(tài)調整 RPC 調用行為的一種能力。比如修改超時時間、權重、負載均衡策略調整等。作用在接口級別和應用級別。下圖含義為將超時時間調整為 6000ms,作用在 conusmer 側的所有節(jié)點。
服務測試
可以通過 admin 后臺測試 dubbo 服務,參數(shù)根據(jù)元數(shù)據(jù)內容自動生成 JSON 模板。
服務 Mock
通過在Admin后臺進行規(guī)則配置,根據(jù)服務名和方法名,進行規(guī)則的配置。
用戶在 Dubbo 引用中引入 Mock 的依賴,通過添加 JVM 啟動參數(shù)?-Denable.dubbo.admin.mock=true,即可體驗在無 Provider 的情況下,實現(xiàn) Consumer 對 Provider 的模擬調用,返回來自 admin 中配置的模擬數(shù)據(jù)。
<denpendency><groupId>org.apache.dubbo.extensions</groupId><artifactId>dubbo-mock-admin</artifactId><version>last</version> </denpendency>新增功能
- 應用級服務發(fā)現(xiàn)
- Mesh 路由
- 服務 Mock
- 權限 SPI 拓展
相關鏈接
1)官網(wǎng):
??https://dubbo.apache.org/zh/docs/advanced/routing-rule/ ??
2)文檔:
??https://dubbo.apache.org/zh/docs/concepts/traffic-management/ ??
總結
以上是生活随笔為你收集整理的Dubbo-Admin 功能展示与实操解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云未来、新可能 - 绿色、无处不在、可信
- 下一篇: 云原生时代,CNStack 如何解决企业