概述
您可以為部署在微服務云應用平臺中的微服務應用配置全鏈路流量控制,將具有一定特征的流量路由到目標版本應用。
前提條件
部署新版本應用或升級應用。
背景信息
本文以電商架構中的下單場景為例介紹全鏈路流控功能。
客戶下單后流量從入口應用(或者微服務網關)進來,調用商城應用,商城應用再調用訂單應用,訂單應用調用下游的支付應用。
商城應用和訂單應用各有兩個新版本(V1.1和V1.2)在運行,需要對這兩個新版本進行灰度驗證。此時在入口應用(或者微服務網關)上期望將滿足特定流控規則的請求流量路由到新版本,其余流量全部路由到線上(基線)版本。
創建泳道組
在左側導航欄,選擇微服務治理 > 全鏈路流量控制,單擊創建泳道組及泳道按鈕。
環境:選擇一個環境。
泳道組名稱:自定義一個泳道組名稱。
入口類型:選擇云原生網關類型,需要先將云原生網關實例導入到環境中。
入口應用:選擇一個入口應用。
泳道組涉及的所有應用:選擇您的入口應用/網關所涉及的所有相關服務。
創建泳道
在左側導航欄,選擇微服務治理 > 全鏈路流量控制,創建好泳道組后,在泳道組頁面最下方,點擊創建第一個分流泳道。
環境:選擇一個環境。
分流泳道名稱:自定義一個分流泳道名稱。
接收打標流量應用:單擊添加泳道應用,在所屬泳道組內選擇應用。
流控規則:流控路由開關,默認關閉。
Path:選擇您的入口應用/網關所涉及的所有相關服務。
條件模式:請根據實際需要選擇條件模式,包含同時滿足下列條件和滿足下列任一條件。
條件列表:單擊添加規則條件,可根據需要添加多項條件。您可以設置Cookie、Header、Parameter和等不同類型的條件。
驗證特征流量路由到目標應用
1.對入口應用發起請求,若泳道條件列表中設置的規則為userId = 1時,流量到泳道打標應用,則請求//ip:port/path/userId=1,流量會到泳道中設置的打標應用中。
2.通過觀察返回結果查看流量是否到對應版本的應用,同時也可以通過界面查看流量的分布情況。