Flink是如何实现 End-To-End Exactly-once的?

flink 如何实现端到端的 Exactly-once?

端到端包含 Source, Transformation,Sink 三部分的Exactly-once

  • Source:支持数据的replay,如Kafka的offset。
  • Transformation:借助于checkpoint
  • Sink:Checkpoint + 两阶段事务提交

两阶段提交?

  • 一旦Flink开始做checkpoint操作,就会进入pre-commit "预提交"阶段,同时JobManagerCoordinator会将Barrier注入数据流中。
  • 当所有的barrier在算子中成功进行一遍传递(就是Checkpoint完成),并完成快照后,"预提交"阶段完成。
  • 等所有的算子完成"预提交",就会发起一个commit "提交"动作,但是任何一个"预提交" 失败都会导致Flink回滚到最近的checkpoint。

两阶段提交API

beginTransaction:在开启事务之前,我们在目标文件系统的临时目录中创建一个临时文件,后面在处理数据时将数据写入此文件。

preCommit:在预提交阶段,刷写(flush)文件,然后关闭文件,之后就不能写入到文件了,我们还将为属于下一个检查点的任何后续写入启动新事务。

commit:在提交阶段,我们将预提交的文件原子性移动到真正的目标目录中,请注意,这回增加输出数据可见性的延迟。

abort:在中止阶段,我们删除临时文件。

参考:

https://www.cnblogs.com/kunande/p/17142718.html

相关推荐
小五传输19 分钟前
网闸怎么选?新型网闸凭安全高效,成企业优选方案
大数据·运维·安全
WLJT12312312327 分钟前
电子元器件:智能时代的核心基石
大数据·人工智能·科技·安全·生活
rgeshfgreh38 分钟前
Python正则与模式匹配实战技巧
大数据·人工智能
SamtecChina20231 小时前
Electronica现场演示 | 严苛环境下的56G互连
大数据·网络·人工智能·算法·计算机外设
Gofarlic_OMS1 小时前
ANSYS许可证使用合规性报告自动化生成方案
大数据·运维·人工智能·3d·自动化·云计算
乐居生活官1 小时前
LV Epoch Capital Management INC.: 领航数字资产的未来
大数据
若凡SEO1 小时前
深圳优势产业(电子 / 机械)出海独立站运营白皮书
大数据·前端·搜索引擎
WZgold1412 小时前
黄金再创新高!2026 年金价走势预测
大数据·人工智能·经验分享·区块链
TOPGUS2 小时前
谷歌第三季度财报发布:AI搜索并未蚕食传统搜索,反而正在创造增量
大数据·人工智能·搜索引擎·谷歌·seo·数字营销
下海fallsea2 小时前
AI竞争的答案:只买人不买产品
大数据·人工智能