怎么理解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

相关推荐
拾光向日葵23 分钟前
2026贵州高职专科报考全问答合集:专业、就业与实力大盘点
大数据·人工智能·物联网
无忧智库1 小时前
智慧医院的“新基建”:从顶层设计到全栈式智能运维的深度解构(PPT)
大数据·运维
绿算技术2 小时前
OpenClaw × GP Spark:本地智能与极速存储的终极融合
大数据·分布式·spark
monsion3 小时前
Code Agent 的上下文压缩:不是 zip,而是工作记忆管理
大数据·人工智能
孤影过客4 小时前
驯服数据巨兽:Hadoop如何重塑大数据的黄金时代
大数据·hadoop·分布式
第二只羽毛4 小时前
C++ 高并发内存池1
大数据·开发语言·c++·开源
开利网络6 小时前
敏捷开发,快速验证:45天让智能体跑起来的落地方法论
大数据·敏捷流程
Crazy CodeCrafter6 小时前
房租年年涨,客流年年少,服装店还要开吗?
大数据·运维·微信·自动化·开源软件
一只努力的微服务6 小时前
【Calcite 系列】深入理解 Calcite 的 AggregateValuesRule
大数据·数据库·calcite·优化规则
2601_955363156 小时前
技术赋能B端拓客:号码核验行业的痛点破解与高质量发展之路,氪迹科技法人股东核验系统,阶梯式价格
大数据·人工智能