Flink的恢复机制的核心就是应用状态的一致性检查点,有状态流的一致性检查点,其实就是所有状态在某个时间点的一份快照拷贝,而这个时间点应该是所有任务都恰好处理完同一个输入数据。
**
Flink使用的检查点算法是分布式快照算法(基于Chandy-Lamport算法的分布式快照)
**
检查点的两种实现:
(1)检查点算法的简单实现–暂停应用,保存状态到检查点,在重新恢复应用
(2)Flink基于检查点算法的优化实现–基于Chandy-Lamport算法的分布式快照,将检查点的保存和数据分开处理,不需要暂停整个应用,这里引入状态后端的概念。
以下介绍flink的检查点算法:
首先介绍一个概念:Checkpoint Barrier,记住他的作用哦

图解检查点算法在flink任务流程中的实现原理:
1.两条流使用2个source来读取数据

2.jobmanager会向每个source任务发送一个带有检查点id的消息,启动检查点(如图中ID=2)

3.source将读取的偏移量状态写入检查点id为2的状态后端中,并发送一个barrier(检查点屏障–对应的id也为2);
状态后端保存完成会通知source任务,s

本文深入探讨Flink的恢复机制——一致性检查点,详细解释其核心算法:基于Chandy-Lamport算法的分布式快照。文章通过图解方式阐述检查点在Flink任务流程中的实现原理,包括CheckpointBarrier的作用、检查点的两种实现方式及其优化过程。
最低0.47元/天 解锁文章
原理--基于Chandy-Lamport算法&spm=1001.2101.3001.5002&articleId=104516081&d=1&t=3&u=e1c5862c251e4fba80ecbdbdd83eef72)
1992

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



