flink checkpoint barrier对齐机制

flink的checkpoint 采用了 Chandy-Lamport 机制,分布式快照

开启checkpoint 需要指定checkpoint的周期和checkpoint的模式

在开启checkpoint后,假如指定了 10秒 一次,ck模式为 exactly once (barrier对其模式)

前10秒的数据流过去之后,此时jobmanager向各个subtask进程发送一个ckeckpoint准备请求,且会从source端往数据流中插入一个barrier标记,每个subtask收到这个barrier后要进行状态的备份。

一个subtask的数据如果只来自于上游的一个subtask,此时遇到barrier后直接备份当前状态,并且向jobmanager发送ack响应。如果一个subtask来自上游多个subtask,因为上有subtask的barrier到达有早有晚,上游最早的barrier到达之后,收到其他上游数据后被缓存到内存中,不会进行处理,直到上游最晚的barrier到达后,这个subtask会进行一次状态备份,并且向jobmanager发送ack响应。简单说就是多个上游任务向同一个下游任务传递分界线时,需要在下游任务执行"barrier对齐"操作,也就是需要等到所有并行分区的barrier都到齐,才可以开始状态的保存。

jobmanager 收到所有的ack响应后。才认为本次checkpoint是完整的,然后给各个subtask发送callBack通知,告诉他们这次checkpoint成功,

当最终的sink端收到了callBack响应后,就会进行commit,比如支持事务的jdbcsink.exactlyOnceSink(),在收到callback后才会进行commit

上述流程就是flink中 barrier对齐的checkpoint算法

相关推荐
折哥的程序人生 · 物流技术专研5 小时前
效率翻倍:出版社多库区复合型 ABC 仓储拣选体系全解(含直发/越库/箱式立库/托盘立库)
大数据
Elastic 中国社区官方博客5 小时前
Elasticsearch:智能搜索 - AI builder 及 skills
大数据·人工智能·elasticsearch·搜索引擎·ai·信息可视化·全文检索
跨境摸鱼6 小时前
低价模型承压阶段跨境品牌如何把重心转向复购与客单
大数据·人工智能·跨境电商·亚马逊·跨境
果汁华7 小时前
LangGraph:构建状态化 AI 代理的革命性编排框架
大数据·人工智能
面向Google编程7 小时前
从零学习Kafka:生产者分区机制
大数据·kafka
盘古信息IMS7 小时前
全域场景重构,激活智造新未来!盘古信息机加行业数智化解决方案深度解析
大数据·人工智能
跨境卫士-小汪7 小时前
多国站点利润分化加剧跨境卖家如何重新排优先级
大数据·人工智能·产品运营·跨境电商·跨境
精益数智工坊8 小时前
物料管理是什么?物料管理的具体工作有哪些?
大数据·前端·数据库·人工智能·精益工程
xixixi777778 小时前
全模态原生大脑降临:GPT-5.5(Spud)发布,推理/编码提升30%,百万上下文+原生电脑控制,开启Agent新纪元
大数据·网络·人工智能·gpt·安全·电脑·量子计算
MoonBit月兔8 小时前
MoonBit 大型软件合成挑战赛决赛暨 Meetup 0.9 版本专场回顾
大数据·开发语言·人工智能·moonbit