说明
如果发生故障,如下图,在 filter() 算子发生错误:
Flink 将会使用 最近的检查点 来恢复应用程序的状态,并重新启动处理流程
第一步
遇到故障之后,第一步就是 重启应用
提示: 重启后的 流都是空的
第二步
从 checkpoint 中读取状态,其内部状态与 之前检查点完成时的状态 完全相同
第三步
开始消费并处理检查点到发生故障之间的所有数据
总结
这种检查点的保存和恢复机制可以为应用程序状态提供“精确一次”(exactly-once)的一致性,因为所有算子都会保存检查点并恢复其所有状态,这样一来所有的输入流就都会被重置到检查点完成时的位置
参考:https://blog.csdn.net/qq_40180229/article/details/106433621


