Flink一致性实现原理

Apache Flink 的一致性原理核心位于检查点机制(Checkpointing)和两阶段提交协议(Two-Phase Commit) 它贯穿周期性保存分散式快照状态,在故障发生时将任务恢复至一致的状态,实现了从数据源到下游系统的「精确一次」(Exactly-Once)处理语义。

Flink一致性实现的关键原理

全局快照机制(Checkpointing)

  • 原理:基于 Chandy-Lamport 算法,Flink 在数据流中插入特殊的「Barrier」(屏障)来标记检查点。
  • 过程:Barrier从数据源传播到整个作业图(Job Graph)。当侵犯子收到所有输入流的Barrier后,保留当前状态(State)异步写入持久化存储(如HDFS),这就是JobManager确认。
  • 一致性保证:只有当所有攻击子都成功完成快照,该检查点才算完成。如果故障发生,系统会重置到最后一次成功的检查点,并重新处理数据后续。

端到端 Exactly-Once 一致性(两阶段提交)

  • 原理:为了保证 Flink 内部状态一致,而且输出到外部系统(如 Kafka)的结果也一致,Flink 使用了两阶段提交。
  • 步骤:
    预提交(Pre-commit):当Checkpoint Barrier到达Sink算子时,Sink启动事务将数据写入外部系统,但暂不提交。
    提交(Commit):JobManager确认所有算子Checkpoint成功后,通知Sink执行实际的提交操作。
  • 故障恢复:若在提交前出现故障,事务会自动回滚,确保数据不重复、不丢失。
    数据一致性级别
  • At-most-once:最多一次,故障时无法恢复,数据可能丢失。
  • At-least-once:至少一次,故障恢复时数据可能重复处理,但不会丢失(常规检查点)。
  • Exactly-once:精确一次,故障时恢复状态与未发生故障时完全一致。

总结来说,Flink的一致性靠Checkpoint恢复状态,靠Two-Phase Commit同步状态与外部输出

相关推荐
ZhiMuZhiLing9 分钟前
B端销售线索管理优化:基于四象限分类的差异化跟进策略分析
大数据·人工智能·创业创新
ACP广源盛139246256731 小时前
GSV6155@ACP# Type-C 视频信号转换芯片:技术架构、工程痛点适配与落地场景分析
大数据·c语言·开发语言·人工智能·分布式·嵌入式硬件·架构
MartinYeung51 小时前
[论文学习]Skill-MAS:面向自动多智能体系统的元技能进化
大数据·人工智能·学习
7177772 小时前
自主研发基础设施国产化:信创产业全貌与 Gitee 落地应用
大数据·gitee
starzy19902 小时前
Spark 核心之 Driver 原理剖析
大数据·ajax·spark
EQUINOX111 小时前
【论文精读】| CLIP精读
大数据·人工智能
微三云 - 廖会灵 (私域系统开发)12 小时前
消费即资产:积分增值异业联盟商业模式完整拆解(附落地逻辑、合规方案与盈利模型)
大数据·人工智能
老白说数智化升级12 小时前
从一次改善到持续进化,AI如何沉淀制造现场的运营知识?
大数据·人工智能·制造
小也说互联网13 小时前
2026年|正规靠谱外贸独立站建站渠道全景解析
大数据·外贸独立站·独立站搭建·谷歌seo优化·外贸建站·谷歌建站服务商推荐·外贸出海企业必看
只说证事13 小时前
电子商务专业考证能找到哪些工作
大数据