API 限流策略專為大模型服務及高並發調用情境設計,支援基於 Token 消耗量、請求數和並發數的多維度動態控制機制。該策略可針對消費者身份、請求 Header 參數、Query 參數、Cookie、用戶端 IP、模型名稱等多維度配置限流規則,並提供 API 層級的全域限流能力。這種多維度限流模式能精準匹配大模型計算資源消耗特性,有效防止系統過載、介面濫用及惡意調用,同時保障核心業務在複雜情境下的穩定運行。
策略說明
防止資源過載:通過設定靈活的限流策略(如按消費者、Header、Query 參數、Cookie、用戶端 IP 或模型名稱),可以有效限制高頻調用或惡意請求,避免因資源過載導致系統崩潰或效能下降。同時,建議配合緩衝策略以提升系統效能。
動態調整流量:支援多種限流範圍(如每秒、每分鐘、每小時、每天),可以根據業務需求靈活調整限流規則,確保系統在高並發情境下仍能穩定運行。
多種匹配規則支援:限流策略支援多種匹配規則(精確匹配、首碼匹配、正則匹配、任意匹配),能夠滿足高優先順序的複雜業務情境需求。
多種限流模式:支援按 Token 消耗量限流、按請求數限流和按並發數限流三種模式,滿足不同粒度的流量管控需求。
模型級精細管控:支援針對不同模型名稱設定差異化的限流閾值,保護高成本模型資源。
全域限流能力:支援 API 層級的全域限流(按 API 限流),作為普通規則之外的兜底策略,從整體上控制 API 的 Token 消耗、請求數和並發數。
防止惡意攻擊:通過對特定消費者、Header、Query 參數、Cookie 或用戶端 IP 進行限流,可以有效限制爬蟲或自動化工具的訪問頻率,保護資料安全。
適用情境
高並發情境:電商大促期間,按使用者單位時間調用 Token 總量限流,防止惡意高頻調用,保障服務穩定及活動公平。
AI 服務調用:對大模型 API 的調用進行限流,避免因突發流量導致服務品質下降或系統崩潰。
多租戶系統:在開放平台或多租戶架構中,為不同租戶分配獨立的限流配額,確保公平性和資源隔離。
模型級精細管控:針對不同模型(如 qwen-max、qwen-plus)設定差異化的 Token 限額和請求數限額,保護高成本模型資源。
全域流量保護:通過 API 層級的全域限流,從整體上控制 Token 消耗總量、請求總數和最大並發數,防止 API 被過度調用。
惡意攻擊防護:防範針對 AI 介面的爬蟲攻擊、DDoS 攻擊或介面濫用行為,保護系統安全。
操作步驟
開啟AI 網關控制台執行個體頁面,在頂部功能表列選擇目標執行個體所在地區,並單擊目標執行個體 ID。
在左側導覽列,單擊Model API,然後單擊目標API 名稱進入API 詳情頁面。
單擊策略與外掛程式,然後開啟限流開關並配置相關參數。
說明 最多隻支援同時命中 10 條規則。
限流策略
限流策略地區用於配置具體的限流規則。每條規則由三部分組成:判斷條件、限流規則(匹配方式)和限流範圍(限流模式 + 限流值 + 限流單位)。規則支援拖拽排序,可通過添加按鈕新增規則行。
配置項 | 說明 |
限流 | 開啟或關閉限流策略,預設關閉。 |
判斷條件 | 選擇限流維度,支援 6 種:按消費者、按請求 Header、按請求 Query 參數、按請求 Cookie、按用戶端 IP、按模型。 |
限流規則 | 根據判斷條件的不同,需要填寫不同的匹配資訊(匹配規則、參數名稱、匹配內容等),詳見下方各維度說明。 |
限流範圍 | 選擇限流的時間視窗:每秒、每分鐘、每小時、每天。 |
限流值 | 填寫限流閾值,取值範圍是 |
限流單位 | 選擇限流的計量單位:Token、請求數或並發數。 |
按消費者
根據消費者身份進行限流,適用於多租戶情境。
表單項:判斷條件(按消費者)→ 匹配規則(精確匹配/首碼匹配/正則匹配/任意匹配)→ 消費者選擇 → 限流範圍 → 限流值 + 限流單位
消費者選擇:從已有消費者列表中選擇,也可點擊建立消費者快速建立。選擇
任意匹配時無需選擇具體消費者。樣本:任意消費者每分鐘限流 1000 Token。
重要 配置按消費者限流,需要先開啟消費者認證。
按請求 Header
根據請求 Header 中的指定欄位進行限流。
表單項:判斷條件(按請求 Header)→ 參數名稱(Header 欄位名)→ 匹配規則(精確匹配/首碼匹配/正則匹配/任意匹配)→ 匹配內容 → 限流範圍 → 限流值 + 限流單位
參數名稱:必填,輸入需要匹配的 Header 欄位名。
匹配內容:選擇
任意匹配時無需填寫。樣本:限制 Header 中
x-user-level值為beta的請求,每分鐘限流 100 Token。
按請求 Query 參數
根據請求 URL 中的 Query 參數進行限流。
表單項:判斷條件(按請求 Query 參數)→ 參數名稱(Query 參數名)→ 匹配規則(精確匹配/首碼匹配/正則匹配/任意匹配)→ 匹配內容 → 限流範圍 → 限流值 + 限流單位
參數名稱:必填,輸入需要匹配的 Query 參數名。
匹配內容:選擇
任意匹配時無需填寫。樣本:限制 Query 參數中
user_id=1的請求,每分鐘限流 100 Token。
按請求 Cookie
根據請求 Cookie 中的指定欄位進行限流。
表單項:判斷條件(按請求 Cookie)→ 參數名稱(Cookie 欄位名)→ 匹配規則(精確匹配/首碼匹配/正則匹配/任意匹配)→ 匹配內容 → 限流範圍 → 限流值 + 限流單位
參數名稱:必填,輸入需要匹配的 Cookie 欄位名。
匹配內容:選擇
任意匹配時無需填寫。樣本:限制 Cookie 中帶有目標標識的請求,每分鐘限流 100 Token。
按用戶端 IP
根據用戶端 IP 位址進行限流,支援單個 IP 和 IP 段。
表單項:判斷條件(按用戶端 IP)→ IP 位址 → 限流值 + 限流單位
IP 位址:輸入需要限流的 IP 位址(如
192.168.1.1)或 IP 段(如192.168.1.0/24)。填寫0.0.0.0/0表示匹配所有用戶端 IP。樣本:限制每個用戶端 IP 最大並發數為 50。
說明 按用戶端 IP 限流無需選擇匹配規則和限流範圍,系統會自動處理。
按模型
針對特定模型名稱設定獨立的限流閾值,適用於多模型服務情境。
表單項:判斷條件(按模型)→ 匹配規則(精確匹配,固定不可更改)→ 模型名稱 → 限流值 + 限流單位
模型名稱:必填,輸入需要限流的目標模型名稱。
限流單位:支援 Token、請求數和並發數三種。
樣本:
qwen-max每分鐘限流 500 Token,同時限制最大並發數為 10。
說明 按模型限流固定使用精確匹配。如果需要更靈活的模型匹配(如首碼匹配、正則匹配),可以使用"按請求 Header"並手動指定參數名稱為 x-higress-llm-model。按 API 限流(全域限流)
按 API 限流是獨立於上述限流策略之外的兜底策略,對整個 API 進行全域限流,不區分具體的判斷條件。
啟用方式:勾選按 API 限流地區的開啟複選框。
表單項:限流範圍(每秒/每分鐘/每小時/每天)→ 限流值 + 限流單位(Token/請求數/並發數)
支援添加多條:可通過添加按鈕新增多條全域限流規則,分別設定不同的限流模式。
樣本:整個 API 每分鐘最多消耗 10000 Token,每分鐘最多 100 次請求,最大並發數為 20。
說明 按 API 限流為上述策略之外的兜底策略。全域限流和普通規則可以同時使用,兩者疊加生效,命中任一規則即觸發限流。
確認配置資訊並單擊儲存。
匹配規則
按消費者、按請求 Header、按請求 Query 參數、按請求 Cookie 四種判斷條件支援以下四種匹配規則,優先順序:精確匹配 > 首碼匹配 > 正則匹配 > 任意匹配。
匹配規則 | 說明 | 樣本 |
精確匹配 | 匹配值與目標值完全相同 | Header |
首碼匹配 | 匹配值以指定首碼開頭 | Header |
正則匹配 | 匹配值符合指定Regex | Header |
任意匹配 | 匹配該維度下的所有值,無需填寫匹配內容 | 任意消費者均適用 |
說明 如果配置了多條規則,則命中任一規則即被攔截。按用戶端 IP 和按模型有各自固定的匹配方式,無需手動選擇匹配規則。
限流單位與限流模式
每條限流規則的限流值後面可以選擇限流單位,不同的限流單位對應不同的計量方式:
限流單位 | 說明 | 適用的判斷條件 |
Token | 按大模型的傳入傳出 Token 消耗量計算 | 所有判斷條件 |
請求數 | 按請求次數計算 | 所有判斷條件 |
並發數 | 按同時處理的請求數量計算 | 所有判斷條件 |
限流策略支援以下限流範圍(時間視窗),與限流單位組合使用:
限流範圍 | Token 限流 | 請求數限流 | 並發數限流 |
每秒 | 每秒允許消耗的最大 Token 數 | 每秒允許的最大請求次數 | — |
每分鐘 | 每分鐘允許消耗的最大 Token 數 | 每分鐘允許的最大請求次數 | — |
每小時 | 每小時允許消耗的最大 Token 數 | 每小時允許的最大請求次數 | — |
每天 | 每天允許消耗的最大 Token 數 | 每天允許的最大請求次數 | — |
(無時間視窗) | — | — | 允許同時處理的最大請求數 |
說明 並發數限流不需要選擇限流範圍(時間視窗),直接設定最大並發數即可。限流值的取值範圍為 1 ~ 2,147,483,647。配置樣本
樣本一:按消費者 Token 限流 + 按用戶端 IP 並發限流
配置兩條規則:任意消費者每分鐘限流 1000 Token,每個用戶端 IP 最大並發數 50。
序號 | 判斷條件 | 匹配規則 | 參數名稱/匹配內容 | 限流範圍 | 限流值 | 限流單位 |
1 | 按消費者 | 任意匹配 | — | 每分鐘 | 1000 | Token |
2 | 按用戶端 IP | — | 0.0.0.0/0 | — | 50 | 並發數 |
樣本二:按請求 Header 限流(多種匹配規則)
針對不同 Header 值設定差異化限流規則:
序號 | 判斷條件 | 參數名稱 | 匹配規則 | 匹配內容 | 限流範圍 | 限流值 | 限流單位 |
1 | 按請求 Header | x-user-level | 精確匹配 | beta | 每分鐘 | 100 | Token |
2 | 按請求 Header | x-user-level | 首碼匹配 | vip | 每小時 | 5000 | Token |
3 | 按請求 Header | x-app-id | 任意匹配 | — | 每分鐘 | 50 | 請求數 |
樣本三:按模型名稱差異化限流
針對不同模型設定差異化限流:qwen-max 每分鐘限流 500 Token 且最大並發 10,qwen-plus 每分鐘限流 2000 Token。
序號 | 判斷條件 | 匹配規則 | 模型名稱 | 限流範圍 | 限流值 | 限流單位 |
1 | 按模型 | 精確匹配 | qwen-max | 每分鐘 | 500 | Token |
2 | 按模型 | 精確匹配 | qwen-plus | 每分鐘 | 2000 | Token |
3 | 按模型 | 精確匹配 | qwen-max | — | 10 | 並發數 |
樣本四:按 API 限流(全域限流)+ 消費者限流組合
在消費者限流基礎上,開啟按 API 限流作為兜底策略:
限流策略(普通規則):
序號 | 判斷條件 | 匹配規則 | 限流範圍 | 限流值 | 限流單位 |
1 | 按消費者 | 任意匹配 | 每分鐘 | 1000 | Token |
按 API 限流(全域規則,勾選"開啟"):
序號 | 限流範圍 | 限流值 | 限流單位 |
1 | 每分鐘 | 10000 | Token |
2 | 每分鐘 | 100 | 請求數 |
3 | — | 20 | 並發數 |
說明 按 API 限流為上述策略之外的兜底策略,需要單獨勾選"開啟",與普通規則獨立配置。
樣本五:混合多維度限流
同時配置多種判斷條件的限流規則:
序號 | 判斷條件 | 參數名稱 | 匹配規則 | 匹配內容/IP/模型名稱 | 限流範圍 | 限流值 | 限流單位 |
1 | 按消費者 | — | 精確匹配 | consumer-001 | 每分鐘 | 500 | Token |
2 | 按請求 Header | x-user-level | 首碼匹配 | vip | 每小時 | 10000 | Token |
3 | 按請求 Query 參數 | user_id | 正則匹配 | ^[0-9]+$ | 每分鐘 | 200 | 請求數 |
4 | 按請求 Cookie | session | 任意匹配 | — | 每分鐘 | 100 | 請求數 |
5 | 按用戶端 IP | — | — | 192.168.1.0/24 | — | 30 | 並發數 |
6 | 按模型 | — | 精確匹配 | qwen-max | 每分鐘 | 1000 | Token |
常見問題
Q:最多可以配置多少條限流規則?
A:最多隻支援同時命中 10 條規則。您可以根據業務需求靈活組合不同維度規則,但建議控制規則數量以確保效能。
Q:多條規則之間的關係是什嗎?
A:多條規則之間的關係為或,即命中任一規則即觸發限流。相同限流維度(相同判斷條件 + 匹配鍵)的規則會被合并到同一個規則群組中執行。
Q:按 API 限流和普通限流規則可以同時使用嗎?
A:可以。按 API 限流(全域規則)作為普通規則之外的兜底策略,作用於整個 API 層級,不區分具體的 key;普通規則按維度細分限流。兩者可以疊加使用,任一規則引發即執行限流。
Q:按模型限流和按請求 Header 限流有什麼區別?
A:按模型限流時,系統會自動將其轉換為基於 x-higress-llm-model Header 的精確匹配限流。如果需要更靈活的模型匹配(如首碼匹配、正則匹配),可以使用按請求 Header 限流並手動指定參數名稱為 x-higress-llm-model。
Q:Token、請求數和並發數三種限流單位可以組合使用嗎?
A:可以。同一個判斷條件下可以添加多條規則,分別選擇不同的限流單位。例如,針對同一個模型既可以設定每分鐘 Token 限額,也可以設定最大並發數限額,兩者獨立計數,命中任一即觸發限流。
Q:按用戶端 IP 限流為什麼沒有匹配規則和限流範圍選項?
A:按用戶端 IP 限流的表單經過簡化設計,只需輸入 IP 位址或 IP 段即可。系統會自動處理匹配邏輯。如果需要對所有用戶端 IP 進行限流,可以輸入 0.0.0.0/0。
Q:規則的順序是否影響限流效果?
A:規則支援拖拽排序,但多條規則之間的關係為或,命中任一規則即觸發限流,因此規則順序不影響最終的限流效果。
Q:更新限流配置後多久生效?
A:更新配置後,系統會自動將新的限流規則推送到網關資料面,通常在幾秒內生效。
Q:限流在分布式架構下的準確性如何?
A:由於分布式架構的特性,限流計數可能存在輕微偏差。實際允許的請求數與配置數會因請求量、速率、後端延遲等因素產生差異。