Amazon Managed Service for Apache Flink (Amazon MSF) 先前稱為 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 數量也會減半 (四捨五入)。
注意
最多可以參考containerCPUUtilization超過 1 分鐘的期間,以尋找與用於擴展動作之資料點的關聯性,但不需要反映動作初始化時的確切時刻。
Managed Service for Apache Flink 不會將應用程式的 CurrentParallelism 值降低到小於應用程式的 Parallelism 設定。
當 Managed Service for Apache Flink 服務擴展應用程式時,應用程式將處於 AUTOSCALING 狀態。您可以使用 DescribeApplication 或 ListApplications 動作來檢查目前的應用程式狀態。當服務擴展您的應用程式時,您唯一可以使用的有效 API 動作是 StopApplication,且 Force 參數設定為 true。
您可以使用 AutoScalingEnabled 屬性 (FlinkApplicationConfiguration 的一部分) 來啟用或停用自動擴展行為。 AWS 您的帳戶會針對 Managed Service for Apache Flink 佈建的 KPUs 收費,這是應用程式parallelism和parallelismPerKPU設定的函數。活動尖峰會增加您的 Managed Service for Apache Flink 成本。
如需定價相關的資訊,請參閱 Amazon Managed Service for Apache Flink 定價
請留意下列與應用程式擴展相關的資訊:
預設會啟用自動擴展。
擴展不適用於 Studio 筆記本。不過,如果您將 Studio 筆記本部署為具有持久狀態的應用程式,則擴展將套用到已部署的應用程式。
應用程式的預設限制為 64 個 KPU。如需詳細資訊,請參閱Managed Service for Apache Flink 和 Studio 筆記本配額。
當自動擴展更新應用程式的平行處理層級時,應用程式會經歷停機。若要避免停機,請執行下列動作:
停用自動擴展
使用 UpdateApplication 動作設定應用程式的
parallelism和parallelismPerKPU。如需設定應用程式平行處理設定的詳細資訊,請參閱 更新應用程式的平行處理。定期監控應用程式的資源使用量,以確認應用程式的工作負載具有正確的平行處理設定。如需資源配置情況的相關資訊,請參閱Managed Service for Apache Flink 中的指標和維度。
實作自訂自動擴展
如果您想要對自動擴展進行更精細的控制,或使用 以外的觸發指標containerCPUUtilization,您可以使用此範例:
-
此範例說明如何使用與 Apache Flink 應用程式不同的 CloudWatch 指標來擴展 Managed Service for Apache Flink 應用程式,包括使用 Amazon MSK 和 Amazon Kinesis Data Streams 做為來源或接收器的指標。
如需詳細資訊,請參閱 Apache Flink 的增強型監控和自動擴展
實作排定的自動擴展
如果您的工作負載隨著時間遵循可預測的設定檔,您可能偏好先行擴展 Apache Flink 應用程式。這會在排程時間擴展您的應用程式,而不是根據指標反應式擴展。若要在一天中的固定時間設定擴展和縮減,您可以使用此範例: