硬核!一文搞懂Flink的checkPoint的exactly-once(好文收藏)

本文详细介绍了Flink的检查点(checkPoint)原理,包括检查点分界线的注入、状态保存、上下游任务的同步以及如何通过检查点实现端到端的exactly-once语义。Flink利用JobManager触发检查点,source任务保存状态,通过检查点分界线确保数据处理的完整性和一致性。在所有任务确认状态保存完成后,检查点完成,为故障恢复提供依据,从而实现精准一次性操作。
摘要由CSDN通过智能技术生成

Flink的checkPoint原理

1.知识前置
Flink检查点算法:检查点分界线(Checkpoint Barrier
Flink 的检查点算法用到了一种称为分界线(barrier)的特殊数据形式,用来把一条流上数据按照不同的检查点分开。

2.正文开始
*2.1.*JobManager 会向每个 source 任务发送一条带有新检查点 ID 的消息,通过这种方式来启动检查点,检查点分界线由 source 算子注入到常规的数据流中,它的位置是限定好的,不能超过其他数据,也不能被后面的数据超过。
在这里插入图片描述
*2.2.*当source源遇到检查点分界线时,就会把自身维护的最新状态(偏移量)保存到状态后端中去并继续处理数据,同时向其下游发送检查点分界线;当状态后端存完检查点之后,就会通知source任务,source任务就会向JobManager确认检查点完成
在这里插入图片描述
主要通过检查点分界线(checkPoint),这个由JobManager产生的特殊形式并插入到流数据中,先从Source源出开始插入并向下游并行的子任务广播下去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值