為應(yīng)用設(shè)置路由規(guī)則(API網(wǎng)關(guān))
如果您的業(yè)務(wù)請(qǐng)求需要分發(fā)給其他服務(wù)或者應(yīng)用,您可以為應(yīng)用配置網(wǎng)關(guān)路由功能,實(shí)現(xiàn)請(qǐng)求路由分發(fā)。本文介紹如何通過云原生API 網(wǎng)關(guān)為您的應(yīng)用設(shè)置路由規(guī)則。
背景信息
云原生API 網(wǎng)關(guān)是一種集成了流量網(wǎng)關(guān)、微服務(wù)網(wǎng)關(guān)、安全網(wǎng)關(guān)以及AI網(wǎng)關(guān)功能的統(tǒng)一架構(gòu)解決方案,旨在解決傳統(tǒng)網(wǎng)關(guān)分散管理帶來的挑戰(zhàn)。通過使用云原生API網(wǎng)關(guān),開發(fā)者可以更容易地實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)、負(fù)載均衡以及跨服務(wù)通信的管理,從而簡化了復(fù)雜分布式系統(tǒng)的開發(fā)與維護(hù)過程。更多信息,請(qǐng)參見什么是云原生API網(wǎng)關(guān)。
前提條件
MSE
您已創(chuàng)建云原生API 網(wǎng)關(guān)。具體操作,請(qǐng)參見創(chuàng)建云原生API網(wǎng)關(guān)實(shí)例。
SAE
您已創(chuàng)建命名空間,并確保云原生API 網(wǎng)關(guān)與SAE命名空間處于同一地域,且綁定同一個(gè)VPC。具體操作,請(qǐng)參見創(chuàng)建命名空間。
您已創(chuàng)建應(yīng)用。
創(chuàng)建路由規(guī)則
登錄SAE控制臺(tái),在左側(cè)導(dǎo)航欄,單擊命名空間,在頂部菜單欄選擇地域,然后在命名空間頁面,單擊目標(biāo)命名空間名稱。
在左側(cè)導(dǎo)航欄,單擊網(wǎng)關(guān)路由,然后在網(wǎng)關(guān)路由頁面,單擊創(chuàng)建網(wǎng)關(guān)路由。
在創(chuàng)建路由頁面,配置相關(guān)信息,然后單擊保存。
配置項(xiàng)
描述
示例
路由名稱
路由規(guī)則名稱,自定義。
demo
網(wǎng)絡(luò)類型
選擇待轉(zhuǎn)發(fā)請(qǐng)求的網(wǎng)絡(luò)類型。
公網(wǎng):通過公網(wǎng)網(wǎng)關(guān)轉(zhuǎn)發(fā)的請(qǐng)求,按照實(shí)際轉(zhuǎn)發(fā)流量計(jì)費(fèi)。
私網(wǎng):通過私網(wǎng)網(wǎng)關(guān)轉(zhuǎn)發(fā)的請(qǐng)求不計(jì)費(fèi),僅在當(dāng)前VPC內(nèi)部轉(zhuǎn)發(fā)。
公網(wǎng)
網(wǎng)關(guān)類型
選擇云原生API網(wǎng)關(guān)。
云原生API網(wǎng)關(guān)
網(wǎng)關(guān)實(shí)例
當(dāng)網(wǎng)關(guān)類型選擇云原生API網(wǎng)關(guān)時(shí)需要配置。選擇與命名空間同一地域且使用同一VPC的網(wǎng)關(guān)實(shí)例。如果您需要?jiǎng)?chuàng)建新的網(wǎng)關(guān)實(shí)例,可以單擊創(chuàng)建云原生API網(wǎng)關(guān)進(jìn)行創(chuàng)建。具體操作,請(qǐng)參見創(chuàng)建云原生API網(wǎng)關(guān)實(shí)例。
demo
域名
選擇需要匹配的域名,支持選擇多個(gè)域名。如果您需要?jiǎng)?chuàng)建新的域名,可以單擊創(chuàng)建域名進(jìn)行創(chuàng)建。具體操作,請(qǐng)參見創(chuàng)建域名。
www.demo.com
路徑(Path)
設(shè)置匹配HTTP請(qǐng)求中的Path參數(shù)。
相同匹配規(guī)則時(shí),Path越長優(yōu)先級(jí)越高。
不同匹配規(guī)則時(shí),
。等于:即完全匹配。例如,Path等于
/user
。前綴是:以前綴作為匹配條件。例如,Path以
/user
開頭。正則匹配:以正則表達(dá)式作為匹配條件。例如,字符類
user
。
條件:前綴是
路徑:/user
方法(Method)
設(shè)置匹配HTTP請(qǐng)求中的Method參數(shù),不填表示匹配所有參數(shù),支持選擇多種HTTP方法。
GET
請(qǐng)求頭(Header)
設(shè)置匹配HTTP請(qǐng)求中的Header參數(shù),相同匹配規(guī)則時(shí)參數(shù)越多優(yōu)先級(jí)越高。
請(qǐng)求頭:demo
條件:前綴是
值:value
請(qǐng)求參數(shù)(Query)
設(shè)置匹配HTTP請(qǐng)求中的Query參數(shù),相同匹配規(guī)則時(shí)參數(shù)越多優(yōu)先級(jí)越高。
請(qǐng)求頭:key
條件:前綴是
值:value
服務(wù)來源
支持MSE Nacos和K8s Service兩種注冊(cè)中心。
MSE Nacos:選擇后,需設(shè)置MSE Nacos實(shí)例和MSE Nacos命名空間。
K8s Service:SAE支持通過K8s ServiceName進(jìn)行多語言服務(wù)注冊(cè)發(fā)現(xiàn),并允許使用固定域名配置應(yīng)用,以解決部署后實(shí)例IP變化的問題。
說明與應(yīng)用的服務(wù)注冊(cè)發(fā)現(xiàn)方式保持一致。
MSE Nacos實(shí)例
使用場(chǎng)景
選擇當(dāng)前路由的目標(biāo)服務(wù)類型。
基礎(chǔ)場(chǎng)景
單服務(wù):將請(qǐng)求分發(fā)到唯一一個(gè)后端服務(wù),是最常使用的場(chǎng)景。
灰度場(chǎng)景
多服務(wù):將請(qǐng)求按比例分發(fā)到多個(gè)后端服務(wù),通常在切流和灰度場(chǎng)景下使用。
關(guān)于目標(biāo)服務(wù)不同類型的說明,請(qǐng)參見路由方式概述。
單服務(wù)
后端服務(wù)
選擇后端應(yīng)用、服務(wù)及其對(duì)應(yīng)的端口。
說明涉及權(quán)重的目標(biāo)服務(wù)流量比例總和要求為100%。
應(yīng)用名稱:demo
服務(wù)名稱:demo
服務(wù)協(xié)議:自動(dòng)讀取
服務(wù)端口:80
高級(jí)配置
Fallback
開啟Fallback開關(guān),設(shè)置Fallback服務(wù),您需要選擇指定的服務(wù)。當(dāng)路由指向的后端服務(wù)沒有可用節(jié)點(diǎn)時(shí),原請(qǐng)求會(huì)訪問此處指定的Fallback服務(wù)。
說明目前僅支持HTTP服務(wù)之間的Fallback能力。
開啟
超時(shí)時(shí)間(秒)
輸入超時(shí)時(shí)間。默認(rèn)為60秒。如果為0,則表示永不超時(shí)。
60
重試次數(shù)
輸入重試次數(shù)。如果為0,則表示禁用重試。
2
重試條件
請(qǐng)選擇重試條件。更多信息,請(qǐng)參見配置重試策略。
connect-failure、cancelled
重試狀態(tài)碼
請(qǐng)?zhí)砑又卦嚑顟B(tài)碼。報(bào)錯(cuò)后的提示信息。
502
路由規(guī)則新建成功后,可以在網(wǎng)關(guān)路由頁面進(jìn)行查看、編輯等操作。
管理路由規(guī)則
創(chuàng)建路由規(guī)則后,您可以在網(wǎng)關(guān)路由頁面查看轉(zhuǎn)發(fā)策略、編輯以及刪除網(wǎng)關(guān)路由。