雲原生網關在處理收到的請求時,會按照事先配置的路由規則的優先順序逐一進行匹配。匹配過程是從高優先順序規則向低優先順序規則進行遍曆。如果與某條規則匹配成功,則轉寄請求至規則中配置的目標服務;如果匹配失敗,則會返回404錯誤。
路由匹配優先順序
存在多條路由規則時,按照关联域名 > 路径(Path)> 要求標頭(Header)> 请求参数(Query)> 创建时间的優先順序從高到低依次進行排序,詳細規則如下:
-
根據关联域名進行判斷:網域名稱字串長度越長,優先順序越高。
-
根據路径(Path)進行判斷:
-
匹配规则不同時:等于 > 前缀是 > 正则匹配。
-
匹配规则相同時:路径(Path)字串越長,優先順序越高。
-
-
根據请求头(Header)的索引值對總數進行判斷:總數越大,優先順序越高。
-
根據请求参数(Query)的索引值對進行判斷:總數越大,優先順序越高。
-
根據建立時間進行判斷:建立時間越早則優先順序越高。
操作步驟
登入MSE網關管理主控台,並在頂部功能表列選擇地區。
在左側導覽列,選擇云原生网关 > 网关列表,單擊目標網關執行個體ID。
-
在左側導覽列,單擊路由管理,然後在路由頁簽單擊创建路由。
-
在创建路由頁面,配置相關配置項,然後單擊保存。
說明-
匹配規則之間是“與”關係,即填寫的規則越多匹配的範圍越小。
-
路由之間匹配的優先順序與路由配置頁面展示排列順序一致。
配置項
描述
路由名称
自訂路由名稱。您還可以單擊添加描述對路由進行說明。
域名
選擇在路由需要匹配的網域名稱,支援選擇多個網域名稱。
如果您需要建立新的網域名稱,可以直接單擊创建域名,在面板中進行建立。
匹配规则
路径(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,則表示禁用重試。
重试条件
選擇重試條件。
重试状态码
添加重試狀態代碼,可添加多個。
-
相關文檔
根據實際情況和需求的變化,您可以隨時修改路由規則。具體操作,請參見變更路由規則。