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

相关推荐
米瑞格门窗35 分钟前
上海系统门窗哪个靠谱
大数据·人工智能·安全·家装·家装建材·系统门窗
江晓鱼未暖42 分钟前
十七、Redis 核心原理与架构详解
大数据·数据库·数据仓库·redis·缓存·架构
Web3_Daisy43 分钟前
如何在Robinhood Chain创建 Uniswap V3 流动性池
大数据·人工智能·web3·区块链
长三角活动观察1 小时前
政企线下活动全流程项目管控方案:苏州独石传媒长三角多场景落地实践总结
大数据·人工智能·传媒
leijiwen1 小时前
文旅消费产业可信数据空间解决方案(白皮书版)
大数据·人工智能
2601_962780691 小时前
高考报大数据相关专业怎么选
大数据·高考
优氙费控1 小时前
出差在外怎么快速报销?手机一键填报+自动留痕
大数据·人工智能
java1234_小锋2 小时前
【免费】基于Spark实时金融交易风险监控与预测系统(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
大数据·spark·kafka·金融交易风险监控与预测
徐礼昭|商派软件市场负责人2 小时前
AI Agent 蜂群协作与经验基因化:从单体执行到自组织系统的工程路径
大数据·人工智能·算法·智能体·多agent
云草桑3 小时前
Odoo 出海供应链管理:库存管理与全球化运营实战
大数据·odoo·erp·跨境