流量隔離
Dubbo-Admin 中的動態流量隔離
Dubbo 提供了動態流量隔離的服務管理功能,無需重新啟動應用程序即可動態隔離流量。
Dubbo 可以通過 XML 配置、註解配置和動態配置實現流量隔離。這裡我們主要介紹動態配置方法。有關其他配置方法,請參閱舊文檔 配置
開始之前
請確保已成功運行 Dubbo-Admin
背景資訊
如果一個應用程序的多個版本同時在線上運行,並且部署在不同的環境中,例如日常環境和特殊環境,則可以使用標籤路由將不同版本在不同環境中的流量隔離開來,並將限時搶購或來自不同渠道的訂單流量路由到特殊環境,將正常流量路由到日常環境。即使特殊環境異常,原本應該進入特殊環境的流量也不會進入日常環境,不會影響日常環境的使用。
步驟
標籤路由
- 登錄 Dubbo-Admin 控制台
- 在左側導航窗格中,選擇服務治理 > 標籤路由。
- 單擊“創建”按鈕,在“創建新的標籤規則”窗格中填寫規則內容,然後單擊“保存”。
詳細規則
配置模板
---
force: false
runtime: true
enabled: true
key: governance-tagrouter-provider
tags:
- name: tag1
addresses: ["127.0.0.1:20880"]
- name: tag2
addresses: ["127.0.0.1:20881"]
...
對於流量隔離場景,您只需要弄清楚以下問題即可知道如何編寫配置
- 要修改服務所屬的提供者應用程序的配置。
- 應用程序:
scope: application, key: app-name
(也可以使用services
指定某些服務)。
- 應用程序:
- 當路由結果為空時,是否強制返回。
- force=false:當路由結果為空時,降級標籤為空的提供者。
- force=true:當路由結果為空時,將直接返回異常。
- 路由規則的優先級
- 優先級 (priority)=1:路由規則的優先級,用於排序,優先級越高,執行順序越靠前,可以留空,默認為 0。
- 此配置是否僅對特定實例生效。
- 所有實例:
addresses: ["0.0.0.0"]
或addresses: ["0.0.0.0:*"]
,取決於 side 值。 - 指定實例:
addresses: [實例地址列表]
。
- 所有實例:
- 要修改的標籤名稱。
結果驗證
選擇與流量隔離配置相關的應用程式來觸發呼叫驗證。
最後修改日期:2023 年 2 月 9 日:更新 docsy 至 0.6.0 (#2141) (20081578326)