AI 網關支援對API級進行添加策略和配置外掛程式,提高API的安全性、效能和可維護性。
策略配置修改後即時生效,無需重新發布。
操作步驟
策略配置
並發控制
並發規則的原理是統計當前網關處理中的請求數之和,當指標達到設定的閾值時立即攔截流量,可配置為後端服務的最大並發處理請求數,實現在高並發下的後端服務可用性保護。
操作步驟
可在添加策略頁簽,單擊并发控制卡片,在添加策略面板配置相關參數。
|
配置項 |
說明 |
||
|
是否开启 |
開啟後,並發規則生效。 |
||
|
总体并发数阈值 |
設定总体并发数阈值。 |
||
|
Web fallback 行为 |
返回指定内容 |
Http状态码 |
設定Http状态码。預設為429。 |
|
返回 content-type |
選擇返回 content-type為普通文本或JSON。 |
||
|
HTTP 返回文本 |
輸入返迴文本。 |
||
|
返回指定内容 |
跳转地址 |
輸入跳转地址。 |
|
流量控制
流控規則的原理是監控API的QPS指標,當指標達到設定的閾值時立即攔截流量,避免後端服務被瞬時的流量高峰衝垮,從而保障高可用性。
操作步驟
可在添加策略頁簽,單擊流量控制卡片,在添加策略面板配置相關參數。
|
配置項 |
說明 |
||
|
是否开启 |
開啟後,流量控制規則生效。 |
||
|
总体QPS阈值 |
設定总体QPS阈值。 |
||
|
Web fallback 行为 |
返回指定内容 |
Http状态码 |
設定Http状态码。預設為429。 |
|
返回 content-type |
選擇返回 content-type為普通文本或JSON。 |
||
|
HTTP 返回文本 |
輸入返迴文本。 |
||
|
跳转到指定页面 |
跳转地址 |
輸入跳转地址。 |
|
熔斷策略
熔斷規則的原理是監控API的回應時間或異常比例,當達到指定的閾值時立即降低依賴優先順序。在指定的時間內,系統不會調用該不穩定的資源,避免後端服務受到影響,從而保障後端的高可用性。當指定時間過後,再重新恢複對該資源的調用。
操作步驟
可在添加策略頁簽,單擊熔斷卡片,在添加策略面板配置相關參數。
|
配置項 |
說明 |
||
|
是否开启 |
開啟後,熔斷規則生效。 |
||
|
统计窗口时长 |
統計的時間視窗長度,取值範圍為1秒~120分鐘。 |
||
|
最小请求数目 |
觸發熔斷的最小請求數目,若當前統計視窗內的請求數小於此值,即使達到熔斷條件規則也不會觸發。 |
||
|
阈值类型 |
選擇以慢调用比例(%)或异常比例(%)作為閾值。
|
||
|
慢调用RT |
設定允許的慢调用RT(即最大的回應時間)。 |
||
|
熔断比例阈值 |
觸發熔斷的慢調用比例閾值,取值範圍 0-100(代表 0%-100%)。 |
||
|
熔斷時間長度(s) |
即熔斷觸發後持續的時間。資源進入熔斷狀態後,在配置的熔斷時間長度內,請求都會快速失敗。 |
||
|
Web fallback 行为 |
返回指定内容 |
Http状态码 |
設定Http状态码。預設為429。 |
|
返回 content-type |
選擇返回 content-type為普通文本或JSON。 |
||
|
HTTP 返回文本 |
輸入返迴文本。 |
||
|
跳转到指定页面 |
跳转地址 |
輸入跳转地址。 |
|
IP黑白名單策略
IP 黑白名單策略的原理是通過預先配置允許或拒絕訪問的 IP 位址列表,控制用戶端對服務的存取權限。
操作步驟
在添加策略頁簽,單擊IP黑白名單卡片,在添加策略面板配置相關參數。
|
參數 |
描述 |
|
开启 |
開啟後,IP黑白名單策略生效。 |
|
名称 |
自訂標識名稱,用於在多個策略中進行區分和管理。 |
|
备注 |
策略描述資訊,便於識別和管理。 |
|
类型 |
指定為黑名單或白名單,控制存取原則類型。
|
|
IP地址/地址段 |
配置允許或拒絕訪問的 IP 位址列表或位址區段,支援多個條目,格式如 |
逾時策略
AI 網關提供API層級的逾時設定,可以按需為指定API配置網關等待請求響應結果的最大時間。如果網關在設定的時間內未收到後端服務的響應,將向用戶端返回一個 HTTP 狀態代碼為 504(Gateway Timeout)的響應結果。
操作步驟
在添加策略頁簽,單擊超时卡片,在添加策略面板配置相關參數。
逾時策略配置完成且開啟後,請根據實際業務驗證服務逾時規則是否生效。
|
參數 |
描述 |
|
开启 |
是否開啟逾時策略。
|
|
超时时间 |
為當前API設定逾時時間,單位為秒。 說明
當設定為0或者關閉逾時策略時,表示網關會一直等待請求的響應結果。 |
重試策略
AI 網關提供API層級的重試設定,可以對出錯的請求進行自動重試。根據需求配置重試條件,例如在串連失敗、後端服務不可用,或者接收到指定的HTTP狀態代碼時觸發請求重試。
API的重試條件
當後端服務返回5xx錯誤時,AI 網關按照設定的重試次數對出錯的請求自動進行重試。
-
HTTP協議的重試條件如下:
-
5xx:如果後端服務返回任何
5xx響應,或者發生串連斷開、重設、讀取逾時事件,AI 網關將嘗試對出錯請求進行重試。說明5xx包含connect-failure和refused-stream的條件。 -
reset:如果發生串連斷開、重設、讀取逾時事件,AI 網關將嘗試對出錯請求進行重試。
-
connect-failure:如果請求是由串連斷開導致的出錯,AI 網關將嘗試對出錯請求進行重試。
-
refused-stream:如果後端服務以
REFUSED_STREAM錯誤碼來重設流,AI 網關將嘗試對出錯請求進行重試。 -
retriable-status-codes:如果後端服務響應結果的HTTP狀態代碼匹配上指定的重試狀態代碼,AI 網關將嘗試對該請求進行重試。
說明只有在重試條件中指定了
retriable-status-codes,才能使用重試狀態代碼。
-
-
gRPC協議的重試條件如下:
-
cancelled:如果後端gRPC服務的回應標頭部中的gRPC狀態代碼為
cancelled,AI 網關將嘗試對該請求進行重試。 -
deadline-exceeded:如果後端gRPC服務的回應標頭部中的gRPC狀態代碼為
deadline-exceeded,AI 網關將嘗試對該請求進行重試。 -
internal:如果後端gRPC服務的回應標頭部中的gRPC狀態代碼為
internal,AI 網關將嘗試對該請求進行重試。 -
resource-exhausted:如果後端gRPC服務的回應標頭部中的gRPC狀態代碼為
resource-exhausted,AI 網關將嘗試對該請求進行重試。 -
unavailable:如果後端gRPC服務的回應標頭部中的gRPC狀態代碼為
unavailable,AI 網關將嘗試對該請求進行重試。
-
操作步驟
可在添加策略頁簽,單擊重试卡片,在添加策略面板配置相關參數。
重試策略配置完成且開啟後,請根據實際業務驗證服務重試規則是否生效。
|
參數 |
描述 |
|
开启 |
是否開啟重試策略。
|
|
重试次数 |
設定對出錯請求的最大重試次數。重試次數支援設定0~10次,建議不超過2次。 重試次數設定為0,表示取消重試。 |
|
重试条件 |
選擇合適的,支援多選。 |
|
重试状态码 |
對特定HTTP狀態代碼的響應進行重試,支援配置多種HTTP狀態代碼。 重要
重试条件指定 |
Header修改策略
在將請求轉寄至目標後端服務之前,或在後端服務的響應返回給用戶端之前,Header設定功能允許修改原始請求中的頭資訊。
操作步驟
可在添加策略頁簽,單擊Header 修改卡片,在添加策略面板配置相關參數。
|
配置項 |
說明 |
|
开启 |
是否開啟Header修改策略。
|
|
Header类型 |
選擇Header類型。
|
|
操作类型 |
選擇操作類型。
|
|
Header Key |
輸入請求或響應的頭部名。 |
|
Header Value |
輸入請求或響應的頭部值。 |
外掛程式配置
-
單擊添加插件頁簽。
-
在快捷导航處,選擇要安裝的外掛程式類型或者搜尋外掛程式名稱,單擊外掛程式卡片:
-
如果外掛程式未安裝,在安裝外掛程式的彈出框中單擊安装并配置,在啟用外掛程式的彈框中配置外掛程式規則,並選擇啟用狀態。
-
如果外掛程式已安裝,在啟用外掛程式的彈框中,配置外掛程式規則,並選擇啟用狀態。
-
-
單擊确定,返回API的掛載列表,可以看到API的外掛程式掛載情況和啟用狀態。
在掛載列表中,入站處理地區顯示 jwt-auth(未開啟)和 key-auth(已啟用),出站處理地區顯示 key-auth(已啟用)和 jwt-auth(未開啟),後端服務地址為 test.static,請求流向為前端API → 入站處理 → 後端服務 → 出站處理。