Flink 容错机制

本文深入探讨了Flink的容错机制,包括一致性检查点、从检查点恢复状态的详细过程,以及检查点算法的原理。此外,还介绍了保存点(SavePoint)的用途,如手动备份、应用更新和版本迁移等。
摘要由CSDN通过智能技术生成

Flink 容错机制

一致性检查点(checkpoint)

在这里插入图片描述

  • Flink 故障恢复机制的核心,就是应用状态的一致性检查点
  • 有状态流应用的一致检查点,其实就是所有任务的状态,在某个时间点的一份拷贝(一份快照);这个时间点,应该是所有任务都恰好处理完一个相同的输入数据的时候

从检查点恢复状态

在这里插入图片描述

  • 在执行流应用程序期间,Flink会定期保存状态的一致检查点
  • 如果发生故障,Flink将会使用最近的检查点来一致恢复应用程序的状态,并重新启动处理流程

在这里插入图片描述

  • 遇到故障之后,第一步就是重启应用

在这里插入图片描述

  • 第二步是从checkpoint中读取状态,将状态重置
  • 从检查点重新启动应用程序后,其内部状态与检查点完成时的状态完全相同。

在这里插入图片描述

  • 第三步:开始消费并处理检查点到发生故障之间的所有数据
  • 这种检查点的保存和恢复机制可以为应用程序状态提供"精确一次"(exactly-once)的一致性,因为所有算子都会保存检查点并恢复其所有状态,这样一来所有的输入流就都会被重置到检查点完成时的位置。

检查点算法

Flink使用的是基于Chandy-Lamport算法的分布式快照

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值