怎么理解flink的异步检查点机制

背景

flink的checkpoint监控页面那里有两个指标Sync Duration 和Async Duration,一个是开始进行同步checkpoint所需的时间,一个是异步checkpoint过程所需的时间,你是否也有过疑惑,是否只是同步过程中的时间才会阻塞正常的数据处理,而异步checkpoint的时间不会影响正常的数据处理流程?

问题追踪

这里我们只拿Aligned checkpoint 和FsBackEnd作为例子,我们知道当一个算子收到前置所有算子的checkpoint barrier后,就会开始进行checkpoint操作:

  1. checkpoint操作的过程的第一步是同步操作,也就是这一步使用的lock和数据处理过程使用的lock是同一个,同步checkpoint操作的过程中是会阻塞数据正常处理流程的,在同步处理的这一步骤中最主要进行的操作是对当前的状态进行快照操作,进行状态快照的过程只是拷贝当前状态的对象引用,那一定有人说,你仅仅拷贝对象的引用,那么当这个对应引用所指向的对象是可变的并且数据处理过程中改变了这个对象内容,那你之前快照的内容不就变了吗?其实是这样的,如果数据处理过程中改变了对象的内容,那么会生成一个新的对象应用,替换状态对象中持有的旧的对象引用,不过快照中的持有的还是旧的对象应用,而旧对象应用指向的对象不会发生改变
  2. checkpoint过程的第二步是把快照的数据拷贝到远程存储HDFS上,这一步由于涉及到的网络传输,所以可能耗时相当长的时间,不过数据处理过程和异步checkpoint的过程是并行的,不会影响到数据的处理。

结论

checkpoint的同步处理阶段会阻塞数据的正常处理流程,相当于这个算子在此期间是不能进行数据处理的,而checkpoint的异步处理阶段和算子的数据处理是并行进行的,不会影响到数据的正常处理流程

参考:

https://zhuanlan.zhihu.com/p/392556253

相关推荐
Data-Miner7 小时前
面对 AI 大模型智能涌现,如何从技术层面保护好隐私与数据安全?
大数据·人工智能
会议咨询8 小时前
2027年电力电子、人工智能与大数据国际会议(PEABD 2027)
大数据·人工智能·电力电子
GlobalInfo9 小时前
全球包装检测用3D轮廓传感器市场调研:2026年规模预计达1.87亿美元,食品医药与电商物流需求推动增长
大数据·人工智能·3d
程序 代码狂人10 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
starzy199011 小时前
Kafka响应发送:字节是怎么真正写回客户端的
大数据·kafka
数字新视界11 小时前
国产动环数据库在智能机房环境监控中的应用与优势分析
大数据·人工智能·数据中心·机房管理·模块化机房
古法老登瞎折腾12 小时前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp
keyipatience12 小时前
Git学习(2)撤销与分支操作全指南
大数据·elasticsearch·搜索引擎
数字新视界12 小时前
模块化机房的设计与实施原理剖析
大数据·物联网·信息可视化·信息与通信·一体化机柜
用户36105886261213 小时前
Flink 注册Slot源码深度剖析:从TaskManager注册到Slot状态机的完整链路
大数据·flink