Apache flink 流处理:应该多久启动一次检查点?

Apache flink 流处理:应该多久启动一次检查点?,apache-flink,flink-streaming,fault-tolerance,checkpointing,Apache Flink,Flink Streaming,Fault Tolerance,Checkpointing,我正在使用ApacheFlink建立一个分析管道来处理物联网数据流。在尝试配置系统时,我似乎找不到任何关于检查点应启动多久的来源?有什么建议或严格的经验法则吗?e、 g.1秒、10秒、1分钟等 编辑:还有,是否有一种在运行时以编程方式配置检查点间隔的方法?这取决于两件事: 如果出现故障(作业将从上次完成的检查点重新启动),您愿意重新处理多少数据 由于数据传输限制和检查点本身的持续时间,您多久能够检查一次 根据我的经验,大多数用户使用10秒左右的检查点间隔,但也配置“检查点之间的最小暂停”[1

我正在使用ApacheFlink建立一个分析管道来处理物联网数据流。在尝试配置系统时,我似乎找不到任何关于检查点应启动多久的来源?有什么建议或严格的经验法则吗?e、 g.1秒、10秒、1分钟等


编辑:还有,是否有一种在运行时以编程方式配置检查点间隔的方法?

这取决于两件事:

  • 如果出现故障(作业将从上次完成的检查点重新启动),您愿意重新处理多少数据
  • 由于数据传输限制和检查点本身的持续时间,您多久能够检查一次
根据我的经验,大多数用户使用10秒左右的检查点间隔,但也配置“检查点之间的最小暂停”[1]


[1] 这取决于两件事:

  • 如果出现故障(作业将从上次完成的检查点重新启动),您愿意重新处理多少数据
  • 由于数据传输限制和检查点本身的持续时间,您多久能够检查一次
根据我的经验,大多数用户使用10秒左右的检查点间隔,但也配置“检查点之间的最小暂停”[1]


(1)

< P> >除了前面已经提到的以外,还有一件事要考虑:如果您依赖于事务性的接收器一次语义,那么这些事务将作为完成每个检查点的一部分而被提交。这意味着这些事务的任何下游用户都会经历或多或少由您的作业的检查点间隔决定的延迟。

< P> >除了已提到的之外,还需要考虑另一件事:如果您依赖于事务接收器,则只需一次语义,然后,这些事务将作为完成每个检查点的一部分提交。这意味着这些事务的任何下游使用者都将经历或多或少由作业的检查点间隔决定的延迟