我有两个关于flink检查点策略的问题,我知道checkpoint与state有关(对吧?),所以如果我没有在我的作业代码中显式地使用state(valuestate之类的东西),我需要关心checkpoint吗?还有必要吗?如果需要启用检查点,间隔应该是多少?设置时间间隔有什么基本规则吗?假设我们谈论的是一个相当繁忙的系统(kafka+flink),比如每天数十亿条消息。非常感谢。
aamkag611#
即使您没有在应用程序中显式使用state,flink的kafka源和汇连接器也会代表您使用state,以便为您提供至少一次或恰好一次的保证—假设您关心这些保证。另外,其他一些运营商也会以某种透明的方式代表您使用state,比如windows和其他流聚合。如果您的flink作业失败,那么它将被回滚到最近成功的检查点,并从那里恢复处理。因此,例如,如果检查点间隔是10分钟,那么在恢复之后,作业可能有10多分钟的数据要处理,然后才能继续处理实时数据。因此,从这个Angular 选择一个你可以接受的检查点间隔。
1条答案
按热度按时间aamkag611#
即使您没有在应用程序中显式使用state,flink的kafka源和汇连接器也会代表您使用state,以便为您提供至少一次或恰好一次的保证—假设您关心这些保证。另外,其他一些运营商也会以某种透明的方式代表您使用state,比如windows和其他流聚合。
如果您的flink作业失败,那么它将被回滚到最近成功的检查点,并从那里恢复处理。因此,例如,如果检查点间隔是10分钟,那么在恢复之后,作业可能有10多分钟的数据要处理,然后才能继续处理实时数据。因此,从这个Angular 选择一个你可以接受的检查点间隔。