雲原生網關在處理收到的請求時,會按照事先配置的路由規則的優先順序逐一進行匹配。匹配過程是從高優先順序規則向低優先順序規則進行遍曆。如果與某條規則匹配成功,則轉寄請求至規則中配置的目標服務;如果匹配失敗,則會返回404錯誤。
路由匹配優先順序
存在多條路由規則時,按照關聯網域名稱 > 路徑(Path)> 要求標頭(Header)> 請求參數(Query)> 建立時間的優先順序從高到低依次進行排序,詳細規則如下:
根據關聯網域名稱進行判斷:網域名稱字串長度越長,優先順序越高。
根據路徑(Path)進行判斷:
匹配規則不同時:等於 > 首碼是 > 正則匹配。
匹配規則相同時:路徑(Path)字串越長,優先順序越高。
根據要求標頭(Header)的索引值對總數進行判斷:總數越大,優先順序越高。
根據請求參數(Query)的索引值對進行判斷:總數越大,優先順序越高。
根據建立時間進行判斷:建立時間越早則優先順序越高。
操作步驟
登入MSE網關管理主控台,並在頂部功能表列選擇地區。
在左側導覽列,選擇云原生网关 > 网关列表,單擊目標網關名稱。
在左側導覽列,單擊路由管理,然後在路由頁簽單擊创建路由。
在建立路由頁面,配置相關配置項,然後單擊儲存。
說明匹配規則之間是“與”關係,即填寫的規則越多匹配的範圍越小。
路由之間匹配的優先順序與路由配置頁面展示排列順序一致。
配置項
描述
路由名称
自訂路由名稱。您還可以單擊添加描述對路由進行說明。
網域名稱
選擇在路由需要匹配的網域名稱,支援選擇多個網域名稱。
如果您需要建立新的網域名稱,可以直接單擊建立網域名稱,在面板中進行建立。
匹配规则
路径(Path)
設定匹配HTTP請求中的Path參數。
相同匹配規則時Path越長優先順序越高。
不同匹配規則時等於 > 首碼是 > 正则匹配。
等於:即完全符合。例如,Path等於
/user。首碼是:以首碼作為匹配條件。例如,Path以
/user開頭。正則匹配:以Regex作為匹配條件。
方法(Method)
設定匹配HTTP請求中的Method參數。支援選擇多種HTTP方法,預設為ANY。
请求头(Header)
設定匹配HTTP請求中的Header參數,相同匹配規則時參數越多優先順序越高。
请求参数(Query)
設定匹配HTTP請求中的Query參數,相同匹配規則時參數越多優先順序越高。
使用情境
選擇當前路由的目標服務類型。
基礎情境:单服务
灰階情境:多服务、标签路由
其他情境:Mock、重定向
關於目標服務不同類型說明,請參見路由方式概述。
說明涉及權重的目標服務流量比例總和要求為100%。
後端服務
選擇已關聯的後端服務和連接埠。
說明您可以單擊關聯服務,在面板選擇來源和服務。
不同的來源類型允許添加的來源數量有不同的限制。
Container Service不得超過5個。
Nacos和Zookeeper只能添加一個。
EDAS和SAE不限。
Fallback
設定Fallback服務,您需要選擇指定的服務。當路由指向的後端服務沒有可用節點時,原請求會訪問此處指定的Fallback服務。
說明目前僅支援HTTP服務之間的Fallback能力。
逾時時間(秒)
輸入逾時時間。預設為60秒。如果為0,則表示永不逾時。
重試次數(次)
輸入重試次數。預設為2次。如果為 0,則表示禁用重試。
重試條件
選擇重試條件。
重試狀態代碼
添加重試狀態代碼,可添加多個。
相關文檔
根據實際情況和需求的變化,您可以隨時修改路由規則。具體操作,請參見變更路由規則。