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

embedded/2024/11/20 10:06:39/

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


http://www.ppmy.cn/embedded/139044.html

相关文章

机器学习基础07_sklearn梯度下降岭回归拉索回归逻辑回归

目录 一、sklearn梯度下降 1、BGD 2、SGD 3、MBGD 二、欠拟合 过拟合 1、欠拟合 2、过拟合 3、正则化 三、岭回归 Ridge 四、拉索回归 Lasso 五、逻辑回归 分类补充:kmeans聚类 回归补充:SVM支持向量机 一、sklearn梯度下降 前一天学到&am…

web——upload-labs——第十一关——黑名单验证,双写绕过

还是查看源码, $file_name str_ireplace($deny_ext,"", $file_name); 该语句的作用是:从 $file_name 中去除所有出现在 $deny_ext 数组中的元素,替换为空字符串(即删除这些元素)。str_ireplace() 在处理时…

在 WSL2 Ubuntu22.04环境安装 MySQL

一、安装步骤 1.1. 确保/etc/apt/sources.list源配置文件一切正常 sudo nano /etc/apt/sources.list需要包括以下内容 deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted…

NPOI 实现Excel模板导出

记录一下使用NPOI实现定制的Excel导出模板&#xff0c;已下实现需求及主要逻辑 所需Json数据 对应参数 List<PurQuoteExportDataCrInput> listData [{"ItemName": "电缆VV3*162*10","Spec": "电缆VV3*162*10","Uom":…

视频直播5G CPE解决方案:ZX7981PG/ZX7981PMWIFI6网络覆盖

方案背景 视频直播蓬勃发展的当下&#xff0c;传统直播网络联网方式的局限性越来越明显。目前传统直播的局限性主要集中在以下几个方面&#xff1a; 传统直播间网络架构条件有限&#xff0c;可连接WIFI数量少&#xff0c;多终端同时直播难以维持&#xff1b;目前4G网络带宽有限…

《物理学进展》

投稿指南 《物理学进展》是中国物理学会主办的物理类刊物&#xff0c;双月刊&#xff0c;为国家中文核心期刊。刊稿内容包括物理学的各分支学科&#xff0c;着重反映物理学前沿领域的重大突破和新兴方向中的活跃状态&#xff0c;以及传统和交叉学科的最新进展。稿件类型包括对某…

2025考研政治徐涛背诵手册(电子版pdf)无套路免费分享

每天都在努力为大家搜集和整理优质的资源&#xff0c;内容涵盖学习、生活、娱乐等方方面面。这些资源可能不会立即改变你的生活&#xff0c;但我希望它们能够为你带来新的视角、新的知识&#xff0c;甚至一点点启发。无论你是为了提升自我、丰富日常&#xff0c;还是在忙碌之余…

【后端速成Vue】Vue 的生命周期

前言&#xff1a; 本期将会介绍 Vue 的声明周期对应的钩子&#xff0c;以及理解什么时候该用什么钩子函数。 篮球哥找工作专属IT岗位内部推荐&#xff1a; 专属内推链接&#xff1a;内推通道 1、了解 Vue 的生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xf…