对于 flink checkpoint 的流程,大概分为这几部分。
1. broadcast state 备份存储
2. keyed state 备份存储
3. 用户实现的 CheckpointedFunction 执行
本文主要说明 1 3 部分,2 有时间再补充
先说结论
flink 的 checkpoint 流程并非全同步或全异步,是同步异步并存的。
流程:
算子收到 barry 后,会同步做以下操作:
1. 执行用户实现的 CheckpointedFunction - snapshotState。
2. 将现有的 broadcast state 深拷贝,其中副本用来备份。
准备完毕后,会异步执行上传到远端存储备份的操作。

两部分分别在两个函数中执行。
本文深入探讨了Apache Flink的checkpoint机制,揭示其并非单纯的同步或异步过程。在算子接收到barrier后,会同步执行CheckpointedFunction的snapshotState以及broadcaststate的深拷贝备份。后续的远程存储上传操作则是异步进行。这一流程涉及关键状态的管理和恢复,确保流处理的准确性和一致性。
885

被折叠的 条评论
为什么被折叠?



