0

我正在使用 Apache Flink 设置分析管道来处理 IoT 数据流。在尝试配置系统时,我似乎找不到任何关于应该多久启动一次检查点的来源?是否有任何建议或严格的经验法则?例如 1 秒、10 秒、1 分钟等?

编辑:另外,有没有办法在运行时以编程方式配置检查点间隔?

4

2 回答 2

1

除了已经提到的内容之外,还需要考虑另一件事:如果您依赖事务接收器来实现一次性语义,那么这些事务将作为完成每个检查点的一部分提交。这意味着这些事务的任何下游消费者都会遇到延迟,这或多或少取决于您的作业的检查点间隔。

于 2019-09-20T08:01:36.360 回答
1

这取决于两件事:

  • 在失败的情况下你愿意重新处理多少数据(作业将从最后一个完成的检查点重新开始)?
  • 由于数据传输限制和检查点本身的持续时间,您多久能够检查一次?

以我的经验,大多数用户使用大约 10 秒的检查点间隔,但也配置了“min-pause-between-checkpoints”[1]。

[1] https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/stream/state/checkpointing.html#enabling-and-configuring-checkpointing

于 2019-09-19T20:07:38.643 回答