Flink 容错机制主要包括:
-
一致性检查点(checkpoint)
-
从检查点恢复状态
-
Flink 检查点算法
-
保存点(save points)
一致性检查点(checkpoint)
下图为flink程序处理一个数据流内部的完整过程,我们对改图的处理过程做一个大致的描述就是,有一批数据,比如从1 ~100的数据源不断的被flink的source读取进来;
假如当前的程序要做的事情是,将读取到的奇数和偶数通过两个不同的task进行分别的计算,在某个时刻,flink程序所在环境因为某种原因突然断掉了,试想如果没有某种机制能够保障服务恢复后能够重新按照之前的这个点继续的话,这将是一个很糟糕的事情;
假如flink程序正好是读到5的这个时间点的时候服务挂掉的,设想下,当前的两个并行的task任务的状态,