啟用 Managed Service for Apache Flink 應用程式的系統復原 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink 之前稱為 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列出在應用程式上執行的所有操作,包括 UpdateApplicationRollbackApplicationMaintenance和其他依反向時間順序執行的操作。下列ListApplicationOperations動作的範例請求會列出應用程式的前 10 個應用程式操作:

{ "ApplicationName": "MyApplication", "Limit": 10 }

的下列範例請求ListApplicationOperations有助於將清單篩選為應用程式上先前的更新:

{ "ApplicationName": "MyApplication", "operation": "UpdateApplication" }

DescribeApplicationOperation

這API提供有關 列出的特定操作的詳細資訊ListApplicationOperations,包括故障原因,如適用。DescribeApplicationOperation 動作的下列範例請求會列出特定應用程式操作的詳細資訊:

{ "ApplicationName": "MyApplication", "OperationId": "xyzoperation" }

如需故障診斷資訊,請參閱系統復原最佳實務