在分布式應用管理中,Auto Scaling是很重要的一個營運能力。Auto Scaling能夠感知應用內各個執行個體的狀態,並根據狀態動態實現應用擴容、縮容。在保證服務品質的同時,提升應用的可用率。
Auto Scaling簡介
互連網、遊戲類等應用在促銷活動期間容易出現突發性流量洪流,SLA和資源成本不易平衡,極易造成系統響應延遲、系統癱瘓等問題。EDAS繼承阿里巴巴應對雙11的流量洪流技術,提供秒級自動彈性功能,保證SLA的同時也節省機器保有成本。多適用於互連網、遊戲以及社交平台等行業。
Auto Scaling適用於在ECS集群中建立的應用。在單一實例環境中,Auto Scaling可確保始終有一個正在啟動並執行執行個體。在流量變化很快的環境中,通過Auto Scaling配置要啟動並執行執行個體數範圍,EDAS將根據設定的負載規則按需添加或刪除執行個體。
Auto Scaling功能根據應用執行個體的以下指標來判斷並實現自動擴容或者縮容:
CPU:CPU使用率,以百分比表示。
RT:對請求作出的回應時間,單位為ms。
Load:應用執行個體的負載大小,以正整數表示。
自動Auto Scaling
Auto Scaling包括自動擴容和自動縮容,可以分別配置擴容規則或者縮容規則。下面以配置擴容規則為例來展示操作步驟。
同時配置擴容和縮容規則的時候,縮容規則的指標不能大於擴容規則的指標,否則,在單擊儲存的時候會彈出錯誤提示。
若使用了彈性資源,縮容時會優先釋放彈性資源提供的執行個體。
登入EDAS控制台。
在左側導覽列,單擊 ,在頂部功能表列選擇地區,並在頁面上方選擇微服務空間,然後在應用列表頁面單擊具體的應用程式名稱。
在應用詳情頁面左側的導覽列中,單擊Auto Scaling。
在扩容规则地區右上方開啟開關啟用擴容規則。
配置擴容規則參數,然後在弹性伸缩頁面左下角單擊儲存。
配置觸發指標:設定CPU、RT和Load指標的閾值。當超過閾值時,觸發擴容。
選擇觸發條件:
任一指標:表示設定的指標中任意一個指標被觸發都會引起擴容。
所有指標:表示設定所有指標必須全部被觸發才能引發自動擴容操作。
期間超過:指標持續被觸發的時間,單位為分鐘。表示在期間內,指標每分鐘的平均值持續超過設定的閾值,就會引起擴容操作,您可根據叢集服務能力的靈敏度酌情配置。
配置應用來源:
已有資源:自動擴容時會從當前應用所在叢集選擇指定數量的閑置ECS執行個體擴容到該應用。
說明當所在叢集中現有的ECS執行個體數量不夠,無法滿足擴容需求時,EDAS會根據已有執行個體數量來進行擴容。
彈性資源:基於現有執行個體規格或執行個體啟動模板來代購執行個體,然後自動將代購的執行個體匯入所在叢集並用於應用擴容。
參數
描述
建立方式
基於現有執行個體規格購買:從所在叢集內已有的執行個體規格中選擇一個作為模板來代購執行個體。
基於執行個體啟動模板購買:會基於您在ECS控制台建立的執行個體啟動模板來代購執行個體。
模板主機/啟動模板
選擇一個現有執行個體規格或者選擇一個啟動模板作為模板來代購執行個體。
登入密鑰
當選擇基於現有執行個體規格購買時,需要選擇登入密鑰。
服務合約
勾選《Elastic Compute Service服務條款》 | 《鏡像商品使用規定》。
已有資源優先:自動擴容時優先使用叢集內空閑執行個體,如果叢集內的空閑執行個體不足,則使用Auto Scaling功能為您代購執行個體。
設定每次擴容的執行個體數:每次觸發擴容操作後,自動增加的執行個體個數。
設定分組最大執行個體數:當叢集內伺服器數量達到配置的最大執行個體數後,不再繼續擴容,請根據您的資源限額配置。
查看Auto Scaling結果
設定了Auto Scaling規則後,如果發生了自動擴容或者自動縮容操作後,您可以通過以下方式來查看伸縮結果:
在應用的基本資料頁面中查看執行個體數量是否增加或者減少。
在應用詳情頁面的左側導覽列單擊變更記錄。對於變更類型為應用擴容或應用縮容,且來源是auto_scale的變更記錄,在操作列單擊查看進入變更詳情頁面查看變更明細。
更多資訊
在ECS叢集中的更多擴容操作,可參見以下文檔: