Amazon Managed Service for Apache Flink (Amazon MSF) 先前稱為 Amazon Kinesis Data Analytics for Apache Flink。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 Managed Service for Apache Flink 應用程式啟用系統復原
透過系統復原功能,您可以在 Amazon Managed Service for Apache Flink 上實現更高可用性的執行中 Apache Flink 應用程式。選擇此組態可讓服務在 或 等動作autoscaling執行到程式碼UpdateApplication或組態錯誤時,自動將應用程式還原至先前執行的版本。
注意
若要使用系統復原功能,您必須更新應用程式以選擇加入。根據預設,現有的應用程式不會自動使用系統復原。
運作方式
當您啟動應用程式操作時,例如更新或擴展動作,Amazon Managed Service for Apache Flink 會先嘗試執行該操作。如果偵測到阻止操作成功的問題,例如程式碼錯誤或許可不足,服務會自動啟動RollbackApplication操作。
轉返會嘗試將應用程式還原至之前成功執行的版本,以及相關聯的應用程式狀態。如果轉返成功,您的應用程式會使用先前的版本,以最短的停機時間繼續處理資料。如果自動轉返也失敗,Amazon Managed Service for Apache Flink 會將應用程式轉換為 READY 狀態,以便您可以採取進一步的動作,包括修正錯誤和重試操作。
您必須選擇加入,才能使用自動系統復原。從現在開始,您可以使用 主控台或 API 來啟用應用程式的所有操作。
UpdateApplication 動作的下列範例請求會啟用應用程式的系統復原:
{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 1, "ApplicationConfigurationUpdate": { "ApplicationSystemRollbackConfigurationUpdate": { "RollbackEnabledUpdate": "true" } } }
檢閱自動系統復原的常見案例
下列案例說明自動系統復原的有利之處:
應用程式更新:如果您使用透過主要方法初始化 Flink 任務時出現錯誤的新程式碼來更新應用程式,則自動復原允許還原先前的工作版本。系統復原有幫助的其他更新案例包括:
-
如果您的應用程式已更新為以高於 maxParallelism 的平行處理執行。
-
如果您的應用程式已更新為在啟動 Flink 任務期間導致失敗的 VPC 應用程式使用不正確的子網路執行。
-
Flink 版本升級:當您升級至新的 Apache Flink 版本,且升級的應用程式遇到快照相容性問題時,系統復原可讓您自動還原至先前的 Flink 版本。
AutoScaling:當應用程式向上擴展,但由於快照與 Flink 任務圖表之間的運算子不相符,從儲存點遇到還原問題時。
使用操作 APIs進行系統復原
為了提供更好的可見性,Amazon Managed Service for Apache Flink 有兩個與應用程式操作相關的 APIs,可協助您追蹤故障和相關的系統復原。
ListApplicationOperations
此 API 會依反向時間順序列出應用程式上執行的所有操作,包括 RollbackApplication、、 UpdateApplication Maintenance和其他操作。ListApplicationOperations 動作的下列範例請求會列出應用程式的前 10 個應用程式操作:
{ "ApplicationName": "MyApplication", "Limit": 10 }
的下列範例請求ListApplicationOperations有助於篩選先前應用程式更新清單:
{ "ApplicationName": "MyApplication", "operation": "UpdateApplication" }
DescribeApplicationOperation
此 API 提供 列出之特定操作的詳細資訊ListApplicationOperations,包括故障原因,如適用。DescribeApplicationOperation 動作的下列範例請求會列出特定應用程式操作的詳細資訊:
{ "ApplicationName": "MyApplication", "OperationId": "xyzoperation" }
如需故障診斷資訊,請參閱系統復原最佳實務。