Flink容错机制
约 541 字大约 2 分钟大数据组件FlinkCheckpoint状态一致性知识点
主要介绍Flink中的容错机制
检查点
检查点的保存
周期性触发保存
保存的时间点
当所有的任务都恰好处理完一个相同的输入数据的时候,他们的状态被保存下来。
避免处理状态意外的额外的信息的存储,提高了输入点保存的效率。
另外,事务性
保存的具体流程

image-20230605170239406
从检查点恢复状态
- 重启应用
- 读取检查点,重置状态
- 重放数据
- 继续处理数据
检查点算法
检查点边界线(Barrier)
在JobManager中有一个“检查点协调器”,专门用来协调处理检查点的相关工作。检查点协调器会定期向TaskManager发出指令,要求保存检查点(带着检查点ID);TaskManager会让所有的Source任务把自己的偏移量(算子状态)保存起来,并将带有检查点ID的分界线插入到当前的数据流中,然后像正常的数据一样像下游传递;之后Source任务就可以继续读入新的数据了。

分布式快照算法(Barrier对齐的精准一次)
异步分界线快照
- 当上游向多个下游发送barrier,广播出去
- 多个上游任务向同一个下游传递时,等所有的都对齐