Amazon Managed Service for Apache Flink 之前稱為 Amazon Kinesis Data Analytics for Apache Flink。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Managed Service for Apache Flink 中使用自動擴展
Managed Service for Apache Flink 可彈性擴展應用程式的平行處理層級,以因應來源的資料輸送量和運算子在大多數情況下的複雜性。預設會啟用自動擴展。Managed Service for Apache Flink 會監控應用程式的資源 (CPU) 用量,並據此彈性地縮減應用程式的平行處理:
如果 CloudWatch 指標最大值
containerCPUUtilization
超過 75% 或更高,您的應用程式會擴展 (增加平行處理) 15 分鐘。這表示當有 15 個連續資料點,且 1 分鐘期間等於或超過 75% 時,就會啟動ScaleUp
動作。ScaleUp
動作會將CurrentParallelism
您應用程式的 加倍。ParallelismPerKPU
不會修改。因此,配置的數目KPUs也會加倍。當您的CPU用量保持在 10% 以下達 6 小時時,您的應用程式會縮減規模 (減少平行處理)。這表示當有 360 個連續資料點,且 1 分鐘的期間小於 10% 時,就會啟動
ScaleDown
動作。應用程式平行處理ScaleDown
的動作減半 (四捨五入)。ParallelismPerKPU
不會修改,配置的數量KPUs也減半 (四捨五入)。
注意
最多可以參考 1 分鐘containerCPUUtilization
的時段,以尋找與用於擴展動作的資料點的關聯性,但不必反映動作初始化時的確切時刻。
Managed Service for Apache Flink 不會將應用程式的 CurrentParallelism
值降低到小於應用程式的 Parallelism
設定。
當 Managed Service for Apache Flink 服務擴展應用程式時,應用程式將處於 AUTOSCALING
狀態。您可以使用 DescribeApplication或 ListApplications動作來檢查目前的應用程式狀態。當服務擴展您的應用程式時,唯一可以採取的有效API動作是 StopApplication將 Force
參數設定為 true
。
您可以使用 AutoScalingEnabled
屬性 (FlinkApplicationConfiguration
的一部分) 來啟用或停用自動擴展行為。 AWS 您的帳戶會針對 KPUs Managed Service for Apache Flink 條款收費,這是應用程式parallelism
和parallelismPerKPU
設定的函數。活動尖峰會增加您的 Managed Service for Apache Flink 成本。
如需定價相關的資訊,請參閱 Amazon Managed Service for Apache Flink 定價
請留意下列與應用程式擴展相關的資訊:
預設會啟用自動擴展。
擴展不適用於 Studio 筆記本。不過,如果您將 Studio 筆記本部署為具有持久狀態的應用程式,則擴展將套用到已部署的應用程式。
您的應用程式預設限制為 64 KPUs。如需詳細資訊,請參閱Managed Service for Apache Flink 和 Studio 筆記本配額。
當自動擴展更新應用程式的平行處理層級時,應用程式會經歷停機。若要避免停機,請執行下列動作:
停用自動擴展
parallelismPerKPU
使用 UpdateApplication動作來設定應用程式的parallelism
和 。如需設定應用程式平行處理設定的詳細資訊,請參閱 更新應用程式的平行處理。定期監控應用程式的資源使用量,以確認應用程式的工作負載具有正確的平行處理設定。如需資源配置情況的相關資訊,請參閱適用於 Apache Flink 的受管理服務中的度量和維度。
實作自訂自動擴展
如果您想要對自動擴展進行更精細的控制,或使用 以外的觸發指標containerCPUUtilization
,您可以使用此範例:
-
此範例說明如何使用與 Apache Flink 應用程式不同的 CloudWatch 指標來擴展 Managed Service for Apache Flink 應用程式,包括 Amazon MSK和 Amazon Kinesis Data Streams 的指標,這些指標用作來源或接收。
如需詳細資訊,請參閱增強 Apache Flink 的監控和自動擴展
實作排程自動擴展
如果您的工作負載隨著時間遵循可預測的設定檔,您可能偏好先行擴展 Apache Flink 應用程式。這會在排程時間擴展您的應用程式,而不是根據指標被動擴展。若要在一天中的固定時間設定擴展和縮減,您可以使用此範例: