集群流控可以精確控制集群內某個服務的實時調用總量,適用于網關流量控制的場景。本文主要介紹設置集群流控的操作步驟。
計費說明
自2021年03月22日起,集群流控功能公測期結束,正式開始計費。集群流控功能按應用申請的QPS量級計費,具體計費方式,請參見價格頁面。
說明 在2021年03月22日之前創建,且在03月22日之后未進行變更的集群暫不開啟計費。
集群流控試用檔位的Token Server可供您繼續測試使用,不會產生額外費用。試用檔位單個應用QPS閾值之和不超過2000,接口總流量不超過3000。
說明 試用檔位僅供測試效果使用,不保證穩定性,請勿在生產環境使用。
前提條件
- 已開通AHAS專業版,若沒有開通,請進入開通頁面。
- Nginx Sidecar版本需在1.3.0及以上;Ingress需使用最新版本。
步驟一:選擇檔位創建集群
- 登錄AHAS控制臺,然后在頁面左上角選擇地域。
- 在控制臺左側導航欄中選擇 。
- 在Ingress/Nginx防護頁面單擊目標應用卡片。
- 在左側導航欄單擊 。
- 在集群流控資源配置區域內,選擇集群類型為試用,單擊創建,然后在對話框中單擊確認。
總配置量級即最大QPS,表示需要流控的接口所能承載的預估的最大QPS,代表可能到來的最大流量。
說明 實際流量(無論是否被流控)超出配置的最大QPS后,流控策略會退化到單機模式。創建集群后,系統會自動為該應用分配集群的Token Server。 - 可選:單擊Token Client設置區域操作列的編輯,設置Token請求超時時間,然后單擊確定。
在某些場景下,集群流控Client與Token Server之間的網絡通信時延較高,需要調整超時時間。
說明 Token請求超時時間單位為ms,取值范圍為(0,10000],一般不建議超過20 ms。公網環境網絡延時較高,建議設置超時時長約為50 ms,但不建議超過80 ms。
步驟二:設置集群流控規則
- 在目標應用管理頁的左側導航欄單擊規則管理,選擇目標方案頁簽,然后單擊新增流控規則。
- 在新增流控防護規則對話框,開啟是否集群流控開關,并設置相關參數。
參數 描述 示例 接口名稱 設置接口名稱,可選擇對應Nginx API分組名稱。 default:localhost:8080 是否集群流控 開啟此開關,即對集群內資源的調用總量進行限制。 開啟 是否開啟 開啟此開關,規則生效;關閉此開關,規則不生效。 開啟 集群閾值 表示該接口的限流閾值。 100 統計窗口時長 集群流控統計的時間窗口長度,取值范圍為1秒~24小時。 1秒 失敗退化策略 當出現連接失敗、通信失敗或Token Server不可用等情況時,流控規則可選擇退化到單機限流模式或直接通過而忽略失敗情況: - 退化到單機限流:當出現通信失敗的情況時,退化到設置的單機閾值來進行流控。需要在規則中配置單機退化閾值,代表單機的兜底閾值。
- 直接通過:當出現通信失敗的情況時,請求直接通過。
退化到單機限流 退化閾值自動調整 開啟后會自動調整退化閾值,默認關閉。 說明 此功能要求SDK版本≥1.8.6。關閉 退化單機閾值 代表單機的兜底閾值。當失敗退化策略選擇退化到單機限流時,需要設置此選項。 10 重要 Nginx集群流控默認采用批量模式請求Server以提升性能,其準確性根據流量分布的影響可能存在2%~6% 的偏差。 - 單擊新增,完成規則創建。創建規則完成后,可以在規則設置頁面查看到創建的集群流控規則,閾值模式為集群總體。
文檔內容是否對您有幫助?