Flink 中未对齐的检查点除了额外的 I/O 之外还有其他缺点吗?它是否会影响端到端的一次性语义?

问题描述 投票:0回答:1

我试图了解在 Apache Flink 中使用未对齐检查点的权衡。虽然我知道未对齐的检查点可以通过跳过对齐阶段来减少背压下的检查点持续时间,但文档提到它会带来额外的 I/O 开销。

我的问题是:

  1. 除了额外的 I/O 之外,与对齐检查点相比,未对齐检查点还有其他缺点吗?
  2. 它是否会影响端到端的一次性语义,特别是因为在失败的情况下它可能会导致具有多个输入流的运算符重复?

任何澄清或示例将不胜感激!

apache-flink flink-streaming
1个回答
0
投票

未对齐的检查点通过在未处理的记录上推进检查点屏障来跳过对齐。那些跳过的记录包含在检查点中,从而导致额外的 I/O 并增加检查点的大小。

如果您研究此表 - https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/ops/state/checkpoints_vs_savepoints/#capability-and-limitations - 您会看到未对齐的检查点不如对齐的检查点通用。这是因为在线事件不一定使用用于将状态写入检查点的状态序列化器序列化为检查点。

对于一次性保证,未对齐的检查点完全支持一次性。

© www.soinside.com 2019 - 2024. All rights reserved.