Flink,检查点的基本规则?

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

我有2个关于Flink检查点策略的问题,

  1. 我知道检查点与状态有关(对吗?),所以如果我没有在我的工作代码中明确使用状态(ValueState类型的东西),我是否需要关心检查点?还有必要吗?
  2. 如果我需要启用检查点,那么间隔应该是多少?是否有设置间隔的基本规则?假设我们正在谈论一个非常繁忙的系统(Kafka + Flink),就像每天几十亿条消息一样。

非常感谢。

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

即使您未在应用程序中明确使用状态,Flink的Kafka源和接收器连接器也代表您使用状态,以便为您提供至少一次或完全一次保证 - 假设您关心这些保证。此外,其他一些运营商也将代表您使用状态,例如Windows和其他流聚合。

如果您的Flink作业失败,那么它将重新回到最近成功的检查点,并从那里恢复处理。因此,例如,如果您的检查点间隔为10分钟,那么在恢复之后,您的作业可能需要10分钟以上的数据才能恢复处理实时数据。因此,从这个角度选择一个可以使用的检查点间隔。

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