选择您的 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。

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

这是在 Managed Service for Apache Flink 上运行生产应用程序的重要方面的集合。这不是一份详尽的清单,而是在将应用程序投入生产之前应注意的最低限度的内容。

对您的应用程序进行负载测试

应用程序的某些问题只有在负载过重的情况下才会出现。我们已经看到应用程序看起来很健康,但操作事件却大大增加了应用程序的负载。这可能完全独立于应用程序本身。如果数据源或数据接收器在几个小时内不可用,Flink 应用程序将无法取得进展。修复该问题后,就会积累大量未处理的数据,这可能会完全耗尽可用资源。然后,负载可能会放大以前从未出现过的错误或性能问题。

因此,必须对生产应用程序进行适当的负载测试。在这些负载测试期间应回答的问题包括:

  • 在持续的高负载下,应用程序是否稳定?

  • 在峰值负载下,应用程序还能占用保存点吗?

  • 处理积压的 1 小时需要多长时间? 24 小时持续多长时间(取决于数据流中数据的最大保留时间)?

  • 扩展应用程序时,应用程序的吞吐量会增加吗?

当从数据流中消费时,可以通过在数据流中生成一段时间来模拟这些场景。然后启动应用程序,让它从一开始就消耗数据。例如,对于 Kinesis 数据流,请使用起始位置。TRIM_HORIZON

定义最大并行度

最大并行度定义了有状态应用程序可以扩展到的最大并行度。这是在首次创建状态时定义的,如果不丢弃状态,就无法将运算符缩放到此最大值之外。

最大并行度是在首次创建状态时设置的。

默认情况下,最大并行度设置为:

  • 128,如果并行度 <= 128

  • MIN(nextPowerOfTwo(parallelism + (parallelism / 2)), 2^15): 如果并行度 > 128

如果您计划将应用程序扩展到 128 并行度,则应明确定义最大并行度。

您可以使用env.setMaxParallelism(x)或单个运算符在应用程序级别定义最大并行度。除非另有说明,否则所有运算符都继承应用程序的最大并行度。

有关更多信息,请参阅 Apache Flink 文档中的设置最大并行度

为所有运算符设置 UUID

在 Flink 将保存点映射回单个运算符的操作中使用 UUID。为每个运算符设置特定的 UUID 可以为要恢复的 savepoint 进程提供稳定的映射。

.map(...).uid("my-map-function")

有关更多信息,请参阅生产就绪清单

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