配置流控規則
更新時間 2024-09-11 18:35:11
最近更新時間: 2024-09-11 18:35:11
分享文章
本章節介紹如何配置流控規則
配置流控規則
配置流控規則的原理是監控應用或服務流量的QPS指標,當指標達到設定的閾值時立即攔截流量,避免應用被瞬時的流量高峰沖垮,從而保障應用高可用性。
功能入口
- 登錄微服務治理控制臺。
- 在控制臺左側導航欄中選擇應用治理。
- 在應用治理頁面的應用卡片頁簽單擊目標應用卡片。
- 在左側導航欄選擇流量防護 - 規則管理,在流控規則頁簽單擊新增流控規則,然后在彈出的對話框中配置規則信息,參數說明如下。
- 設置完成單擊新增。
頁面參數說明如下:
| 參數 | 描述 |
|---|---|
| 接口名稱 | 待流控的資源名稱。 |
| 來源應用 | 該規則針對的來源應用,默認來源應用設為default,代表不區分來源應用。![]() |
| 統計維度 | 選擇資源調用關系進行流控。 ? 當前接口 :直接控制來自來源應用中調用來源的訪問流量,如果來源應用為default則不區分調用來源。通常應用于流量勻速通過的場景。 ? 關聯接口 :控制當前資源的關聯資源的流量。通常應用于資源爭搶時,留足資源給優先級高接口的場景。 ? 鏈路入口 :控制該資源所在的調用鏈路的入口流量。選擇鏈路入口后需要繼續配置 入口資源 ,即該調用鏈路入口的上下文名稱。通常應用于預熱啟動避免大流量沖擊的場景。 |
| 單機QPS閾值 | 觸發對流控接口的統計維度對象的QPS閾值。 |
| 流控效果 | 選擇流控方式來處理被攔截的流量。 ? 快速失敗 :達到閾值時,立即攔截請求。按照應用系統設置中的適配模塊配置信息,進行內容返回。 ? 預熱啟動 :需設置具體的預熱時間。如果系統在此之前長期處于空閑的狀態,當流量突然增大的時候,該方式會讓處理請求的速率緩慢增加,經過設置的預熱時間以后,到達系統處理請求速率的設定值。默認會從設置的QPS閾值的1/3開始慢慢往上增加至設置的QPS值,多余請求會按照快速失敗處理。 ? 排隊等待 :請求勻速通過,允許排隊等待,通常用于請求調用削峰填谷等場景。需設置具體的超時時間,達到超時時間后請求會快速失敗。 |
| 是否開啟 | 打開開關表示啟用該規則,關閉開關表示禁用該規則。開關修改之后會立即生效。 |
使用場景
常用場景 1 :當資源爭搶時,需留足資源給優先級高的接口
為了確保提交的數據不丟失,我們將數據庫讀寫分離,并給寫庫分配了更高的優先級。對于讀取數據的請求,如果過于頻繁,會對寫入操作進行限流。
在新建流控防護規則對話框中配置以下規則信息:
- 統計維度選擇關聯接口。
- 流控效果選擇快速失敗。
- 關聯接口閾值為10。
當寫庫操作的QPS超過10之后,讀庫操作會被限流以保證留足資源給寫庫操作,避免寫庫操作數據丟失。
常用場景 2 :預熱啟動避免大流量沖擊
采用流量控制的方法,在流量入口處進行控制,以緩慢增加的方式讓流量通過,在一定時間內達到閾值上限,以便系統能夠預熱。這種方法最適合應對突發流量的場景。
在新建流控防護規則對話框中配置以下規則信息:
- 統計維度選擇鏈路入口。
- 流控效果選擇預熱啟動。
- 單機QPS閾值為90。
- 預熱時間為10s。
預熱流控方式下,默認會從設置的QPS閾值的1/3開始慢慢往上增加至QPS設置值。本示例中,當入口的QPS超過30(即90÷3)時,會在預熱的10s內緩慢增長至90。
常用場景 3 :削峰填谷,使流量勻速通過
請求流量具有波峰波谷的特點,流量管理的原理是將前期的高峰流量延遲到后期再處理,以最大化滿足所有請求,并保證用戶體驗。
在新建流控防護規則對話框中配置以下規則信息:
- 統計維度選擇當前接口。
- 流控效果選擇排隊等待。
- 配置勻速模式下請求單機QPS閾值為5。
- 等待時長為5s。
