选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

为适用于 Apache Flink 的托管服务应用程序启用系统回滚

聚焦模式
为适用于 Apache Flink 的托管服务应用程序启用系统回滚 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

借助系统回滚功能,您可以在适用于 Apache Flink 的亚马逊托管服务上提高正在运行的 Apache Flink 应用程序的可用性。选择此配置后,当诸如UpdateApplication或之类的操作遇到代码或配置错误时,该服务可以自动将应用程序恢复到之前autoscaling运行的版本。

注意

要使用系统回滚功能,您必须通过更新应用程序来选择加入。默认情况下,现有应用程序不会自动使用系统回滚。

工作方式

当您启动应用程序操作(例如更新或扩展操作)时,适用于 Apache Flink 的亚马逊托管服务会首先尝试运行该操作。如果它检测到阻碍操作成功的问题,例如代码错误或权限不足,则该服务会自动启动操作。RollbackApplication

回滚会尝试将应用程序恢复到成功运行的先前版本以及相关的应用程序状态。如果回滚成功,则您的应用程序将继续使用先前版本处理数据,最大限度地减少停机时间。如果自动回滚也失败,则适用于 Apache Flink 的 Amazon 托管服务会将应用程序转换为READY状态,以便您可以采取进一步的措施,包括修复错误和重试操作。

您必须选择使用自动系统回滚。从现在起,您可以使用控制台或 API 为应用程序上的所有操作启用它。

以下示例UpdateApplication操作请求允许应用程序进行系统回滚:

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 1, "ApplicationConfigurationUpdate": { "ApplicationSystemRollbackConfigurationUpdate": { "RollbackEnabledUpdate": "true" } } }

查看自动系统回滚的常见场景

以下场景说明了自动系统回滚的好处:

  • 应用程序更新:如果在通过 main 方法初始化 Flink 作业时使用存在错误的新代码更新应用程序,则自动回滚允许恢复以前的工作版本。其他有助于进行系统回滚的更新场景包括:

  • Flink 版本升级:当您升级到新的 Apache Flink 版本并且升级后的应用程序遇到快照兼容性问题时,系统回滚允许您自动恢复到之前的 Flink 版本。

  • AutoScaling:由于快照和 Flink 作业图之间的操作员不匹配,应用程序向上扩展但从保存点恢复时遇到问题。

使用操作 APIs 进行系统回滚

为了提供更好的可见性,Amazon Apache Flink 托管服务提供了两个 APIs 与应用程序操作相关的服务,可以帮助您跟踪故障和相关的系统回滚。

ListApplicationOperations

此 API 按时间倒序列出了在应用程序上执行的所有操作,包括UpdateApplicationMaintenanceRollbackApplication、、和其他操作。以下ListApplicationOperations操作请求示例列出了该应用程序的前 10 个应用程序操作:

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

以下示例请求可ListApplicationOperations帮助筛选应用程序先前更新的列表:

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

DescribeApplicationOperation

此 API 提供有关列出的特定操作的详细信息ListApplicationOperations,包括失败原因(如果适用)。以下DescribeApplicationOperation操作请求示例列出了特定应用程序操作的详细信息:

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

有关问题排查信息,请参阅系统回滚最佳实践

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。