应用程序升级的一般最佳做法和建议 - Managed Service for Apache Flink
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

应用程序升级的一般最佳做法和建议

  • 在尝试生产升级之前,在非生产环境中测试没有状态的新作业/运行时。

  • 考虑先使用非生产应用程序测试有状态升级。

  • 确保你的新任务图与你将用来启动升级后的应用程序的快照处于兼容状态。

    • 确保存储在运算符状态下的类型保持不变。如果类型已更改,Apache Flink 将无法恢复操作员状态。

    • 确保使用该uid方法IDs设置的运算符保持不变。Apache Flink 强烈建议为运算符分配唯一值IDs。有关更多信息,请参阅 Apache Flink 文档IDs中的分配运算符

      如果您没有为运算符赋值IDs,Flink 会自动生成它们。在这种情况下,它们可能取决于程序结构,如果更改,可能会导致兼容性问题。Flink 使用运算符IDs将快照中的状态与运算符进行匹配。更改 Op IDs erator 会导致应用程序无法启动,或者快照中存储的状态被删除,而新操作符在没有状态的情况下启动。

    • 不要更改用于存储密钥状态的密钥。

    • 不要修改有状态运算符的输入类型,例如 window 或 join。这会隐式更改运算符内部状态的类型,从而导致状态不兼容。