在Serverless 應用引擎 SAE(Serverless App Engine)的微服務應用中,為了應對突發的流量高峰,您可以添加彈性策略,以實現應用執行個體的自動擴縮容。本文主要介紹在微服務應用中如何配置Auto Scaling策略。
功能介紹
SAE擴縮容支援以下方式:
-
手動擴縮:當應用擴縮容為緊急需求時,例如突發性的流量高峰,您可以選擇手動擴縮方式。
-
自動擴縮:當應用擴縮容為非緊急需求時,例如周期性的流量高峰,您可以選擇自動擴縮方式,即配置Auto Scaling策略。SAEAuto Scaling策略包括定時彈性策略、監控指標彈性策略和混合彈性策略。
適用情境
SAE支援配置三種類型的Auto Scaling策略:
-
定時策略:適用於資源使用率有周期性規律的應用情境,多用於證券、醫學、政府和教育等行業。
-
監控指標策略:適用於突發流量和典型周期性流量的應用情境,多用於互連網、遊戲和社交平台等行業。
-
混合彈性策略:適用於同時處理兼具周期性資源需求波動與突發流量特點的應用情境,多用於互連網、教育和餐飲等行業。
注意事項
-
最多支援建立5條定時策略、一條監控指標策略或一條混合彈性策略,三種策略不能同時使用。
-
彈性策略啟用時,請勿手動進行應用生命週期管理操作,例如應用擴縮、部署應用、更改規格、重啟應用和停止應用。如果需要對應用進行此類操作,先停用彈性策略,然後再手動執行操作。
-
如果當前應用處於擴容、縮容、部署(單批、分批或灰階)、更改規格、重啟和停止等過程,需等待過程完成後,才可添加或啟動彈性策略。
-
單應用的執行個體數上限為50。如需提升額度,請加入釘群(釘群號:32874633),申請開通白名單。
前提條件
功能入口
-
在SAE應用列表中,在頂部選擇目標地區和命名空間,點擊目標應用ID跳轉到應用詳情頁。
-
在目標應用的基礎資訊頁面,單擊Auto Scaling頁簽,然後在Auto Scaling地區單擊添加彈性策略。
配置Auto Scaling策略
定時策略
-
在彈出的添加彈性策略面板,配置以下參數資訊,然後單擊下一步:預覽定時策略。
參數
說明
樣本
策略類型
選擇定時策略。
定時策略
策略名稱稱
自訂。
demo
選擇時間
時間可以選擇長期或短期:
-
短期:需要選擇開始時間和結束時間。
-
長期:選擇長期,則此策略長期有效。
長期
周期
周期可以選擇每天、每周或每月。
每天
單天內的觸發時間
選擇觸發時間和觸發時間之後保持的執行個體數。
觸發時間:彈性策略觸發的時間。
觸發時間之後保持的執行個體數:彈性策略被觸發後,擴縮容之後的執行個體數。
觸發時間:08:00和20:00
觸發時間之後保持執行個體數:10和3
-
-
在預覽定時策略導向頁,預覽特定時間段的執行個體數,然後單擊確認。
-
添加完定時策略後,啟用該策略。
監控指標策略
-
在彈出的添加彈性策略面板,配置以下參數資訊,然後單擊確認。
參數
說明
樣本
策略類型
選擇監控指標策略。
監控指標策略
策略名稱稱
自訂。
demo
觸發條件
選擇指標類型:
-
CPU使用率。
-
記憶體使用量率。
-
TCP活躍串連數。
-
TCP總串連數。
-
應用QPS。
-
應用回應時間(RT)。
-
公網CLB QPS。
-
公網CLB回應時間。
-
私網CLB QPS。
-
私網CLB回應時間。
說明-
指標類型的彙總方式,請參見控制台說明。
-
您可以同時設定多個指標類型。
CPU使用率
設定目標值。當目標指標類型等於設定的目標值,會觸發彈性策略,實現應用執行個體的自動擴縮容。
70%
執行個體數設定
設定應用最小執行個體數、應用最大執行個體數和最小存活執行個體數。
說明最小存活執行個體數為每次變換時最小存活的執行個體數,可以按個數進行設定,也可以按比例進行設定。
-
應用最小執行個體數:6
-
應用最大執行個體數:50
-
最小存活執行個體數:按個數進行設定,設定最小存活執行個體數為3
進階設定
(非必填項)請按照需求配置以下資訊:
-
彈性擴容步長:單位時間內最多擴容的執行個體數。
-
彈性縮容步長:單位時間內最多縮容的執行個體數。
-
擴容穩定視窗:穩定視窗期系統趨於維穩狀態。通過自動擴縮演算法來保證當需要執行擴容時,使用指定時間間隔內所計算的期望目標執行個體數中的最小值。
-
縮容穩定視窗:穩定視窗期系統趨於維穩狀態。通過自動擴縮演算法來保證當需要執行縮容時,使用指定時間間隔內所計算的期望目標執行個體數中的最大值。
-
禁止縮容:開啟後將永遠不會縮容該應用的執行個體,能有效防止在流量高峰期縮容造成業務風險。預設關閉。
-
-
添加完監控指標彈性策略後,啟用該策略。
混合彈性策略
混合彈性策略是混合了定時策略和監控指標策略。
-
在添加彈性策略面板,設定以下參數資訊。
-
彈性類型選擇混合彈性策略,自訂策略名稱稱。
-
監控指標設定。請參見監控指標策略。
在混合彈性策略頁簽,輸入策略名稱稱。在執行個體數設定地區,設定應用最小執行個體數和應用最大執行個體數,並配置最小存活執行個體數(可選擇按個數或按比例,也可勾選使用系統推薦值)。
-
非必填項:單擊進階設定,按需配置以下資訊。
配置項
說明
樣本
彈性擴容步長
單位時間內最多擴容的執行個體數。
3
彈性縮容步長
單位時間內最多縮容的執行個體數。
2
擴容穩定視窗
穩定視窗期系統趨於維穩狀態。通過自動擴縮演算法來保證當需要執行擴容時,使用指定時間間隔內所計算的期望目標執行個體數中的最小值。
300秒
縮容穩定視窗
穩定視窗期系統趨於維穩狀態。通過自動擴縮演算法來保證當需要執行擴容時,使用指定時間間隔內所計算的期望目標執行個體數中的最小值。
300秒
禁止縮容
開啟後將永遠不會縮容該應用的執行個體,能有效防止在流量高峰期縮容造成業務風險。預設關閉。
開啟
-
特殊事件段設定。請參見定時策略。
-
-
在預覽定時策略設定精靈,預覽特定時間段的執行個體數,然後單擊確認。
-
添加完混合彈性策略後,啟用該策略。
驗證彈性策略是否生效
要驗證彈性策略是否生效,您可以從以下三種方法中任選其一進行測試:
查看當前執行個體數與目標執行個體數是否相同
進入目標應用的基礎資訊頁面,單擊Auto Scaling頁簽,查看執行個體數是否與彈性原則設定的執行個體數相同,如果相同,則表明彈性策略已生效。
頁面上方 執行個體數隨彈性指標變化趨勢 圖表展示當前應用執行個體數及 CPU 使用率等指標的變化曲線,其中藍色地區為擴容區間、黃色地區為縮容區間;下方 混合彈性策略列表 表格展示各策略的 指標目標值、應用最大執行個體數 和 應用最小執行個體數 等配置,可據此對比當前執行個體數與策略設定值。
配置公網訪問地址進行壓測
-
為應用添加公網訪問地址。
-
登入SAE控制台,進入目標微服務應用的基礎資訊頁面,在應用訪問設定地區單擊添加公網CLB 訪問。
-
在彈出的添加公網 CLB 訪問面板,選擇建立CLB(按規格計費),然後設定HTTP連接埠和容器連接埠,最後單擊確定。
本樣本中,HTTP 連接埠 設為
80,容器連接埠 設為3210。 -
公網訪問地址添加成功後,複製公網訪問地址。
在公網訪問地址右側,可看到已產生的地址(如
101.xxx:80)及協議類型 HTTP。
-
-
對應用進行壓測。
-
登入效能測試服務 PTS 控制台,在概覽頁面輸入公網IP(格式為:
https://公網IP),然後單擊壓測。 -
在彈出的壓測配置面板,輸入每秒請求數(RPS),然後勾選確認本次壓測已獲得准許並遵守當地法律並單擊啟動壓測。
本樣本中,壓測總時間長度 設定為
10分鐘,每秒請求數(RPS) 設定為1000。
-
-
返回SAE控制台,進入目標應用的基礎資訊頁面,然後在執行個體列表頁簽查看應用執行個體數是否進行了自動擴容,如果進行了自動擴容,則表明彈性策略已生效。
說明當壓測結束後,執行個體數會進行自動的縮容,此過程需要一定的時間,請您耐心等待。
查看彈性事件
進入目標應用的應用事件頁面,選擇篩選條件為來源類型,並將來源類型設定為自動彈性(HorizontalPodAutoscaler),以查看因彈性策略觸發的變更所產生的事件。
篩選後,事件列表將展示彈性相關事件,事件等級為 Normal,事件原因為 SuccessfulRescale,表示彈性擴縮成功。展開事件詳情可查看擴縮結果(如 New size: 5)及觸發原因(如外部指標 slb_incall_qps 超過目標閾值)。
更多操作
-
進入目標應用的基礎資訊頁面,單擊Auto Scaling頁簽。
-
在Auto Scaling頁簽的Auto Scaling地區,在目標策略的操作列,按需對策略進行啟用、停止、編輯、刪除和查看觸發策略所產生的事件。