API 限流不僅支援對單個 API 進行限流設定,還支援對 API 設定限流預設值以及設定應用層級的限流總值,避免高峰期間後台伺服器被壓垮。 如果同時設定了 API 限流預設值和 App 限流總值,則按照限流值的大小依次處理,限流值較小的優先生效。
本文僅對如何配置 API 限流預設值和 App 限流總值進行說明。如需對單個 API 進行限流設定,請在 API 詳情頁面的限流配置模組中進行設定,具體參見 配置 API。
前置條件
要使用限流配置,確保已開啟限流功能。登入 mPaaS 控制台,從左側導覽列進入 移動網關 > 網關管理 頁面,開啟 限流 開關即可。
API 限流預設值
對 API 設定限流預設值,作用於當前應用下的所有 API。限流預設配置生效規則如下:
若之前已針對單個 API 配置過限流值,則該 API 的限流值以之前配置的為準。
單個 API 的限流配置會覆蓋 API 預設限流配置。
修改後的限流預設配置對之前已使用限流預設配置的 API 生效。
配置步驟:
開啟 API 限流預設配置 開關。
在預設限流值配置框中,單擊 編輯,配置限流資訊。
預設限流值:根據業務需求設定合理的限流閾值。超過此值時,請求會被限流。
說明限流閾值指一秒內的請求上限。
限流響應:限流預設的響應為:
{"resultStatus":1002,"tips":"顧客太多,客官請稍候"}
如需定製限流響應,請使用如下格式:{ "result": "==此處為定製響應內容,請填寫==", "tips": "ok", "resultStatus": 1000, }
其中:
result
為定製的響應資料,JSON
格式。只有resultStatus
為 1000 時,用戶端才會取此欄位處理。tips
為定製的限流提示。若resultStatus
為 1002,會取此欄位提示使用者。resultStatus
為限流返回的結果碼,具體含義請參見 網關結果碼說明。
App 限流總值
對當前應用下所有的 API 設定限流的總和值。一旦超出應用的限流總值,則當前應用下所有 API 的請求都將被限流。
配置步驟:
開啟 App 限流總值 開關。
在 App 限流總值配置框中,單擊 編輯,配置限流資訊。
限流總和值:根據業務需求設定合理的限流閾值(單位:秒)。超過此值時,請求會被限流。
限流響應:限流預設的響應為:
{"resultStatus":1002,"tips":"顧客太多,客官請稍候"}
如需定製限流響應,使用如下格式:{ "result": "==此處為定製響應內容,請填寫==", "tips": "ok", "resultStatus": 1000, }
其中:
result
為定製的響應資料,JSON
格式。只有resultStatus
為 1000 時,用戶端才會取此欄位處理。resultStatus
為限流返回的結果碼,具體含義請參見 網關結果碼說明。tips
為定製的限流提示。若resultStatus
為 1002,會取此欄位提示使用者。