Flink Savepoints 和 Checkpoints 的 3 个不同点

Posted @SmartSi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink Savepoints 和 Checkpoints 的 3 个不同点相关的知识,希望对你有一定的参考价值。

在本文中,我们将解释什么是 Savepoint,什么会使用它们,并就它们与 Checkpoint 的区别进行对比分析。

1. 什么是 Savepoint 和 Checkpoint

Savepoint 是一项可让我们为整个流应用程序生成"某个时间"点快照的能力。快照包含有关您输入源的位置信息,以及数据源读取到的偏移量信息以及整个应用程序状态信息。我们可以使用 Chandy-Lamport 算法的变体在不停止应用程序的情况下获得全部状态的一致性快照。保存点包含两个主要元素:

  • 首先,Savepoint 包括一个包含(通常是很大的)二进制文件的目录,该二进制文件表示在 Savepoint 和 Checkpoint 生成镜像时流应用程序的整个状态
  • 一个(相对较小的)元数据文件,包含指向所有文件的指针(路径),这些文件是保存点的一部分,并存储在所选的分布式文件系统或数据存储中。

阅读这篇文章之前,你可以阅读一下Flink 保存点之回溯时间

上面所有关于 Savepoints 的内容听起来与我们在之前的文章中对 Checkpoints 的介绍非常相似。Checkpoint 是 Apache Flink 用于故障恢复的内部机制,包括应用程序状态快照以及输入源读取到的偏移量。如果程序发生故障,Flink 会通过从 Checkpoint 加载应用程序状态并从恢复的读取偏移量继续读取来恢复应用程序,就像什么也没发生一样。

以上是关于Flink Savepoints 和 Checkpoints 的 3 个不同点的主要内容,如果未能解决你的问题,请参考以下文章

16-flink-1.10.1-flink 容错机制

16-flink-1.10.1-flink 容错机制

16-flink-1.10.1-flink 容错机制

Flink架构及其工作原理

pointer of checkpoint in FlinK

JFlink+TiDB|从一个累加的故事说起~~~