Flink中Checkpoint和Savepoint 的 3 个不同点

本文探讨了Flink中的Savepoint和Checkpoint的区别,包括目标差异(Savepoint用于手动备份,Checkpoint用于故障恢复)、实现差异(Savepoint关注可移植性,Checkpoint更轻量快速)和生命周期差异(Savepoint需手动管理,Checkpoint自动定期)。同时,解释了如何使用Savepoint进行作业升级、A/B测试、资源调整等场景。
摘要由CSDN通过智能技术生成

在本文中,笔者将阐述在Flink中 Savepoint 和 Checkpoint 二者的不同点以及它们的应用场景。

Savepoint和Checkpoint分别是什么? 

Savepoint 是用来为整个流处理应用在某个“时间点”(point-in-time)进行快照生成的功能。该快照包含了数据源读取到的偏移量(offset),输入源的位置信息以及整个应用的状态。借助 分布式快照算法(Chandy-Lamport )的变体,我们可以在应用程序运行中得到某个“时间点”一致的快照。

Savepoint由一个目录以及一个元数据文件构成。其中目录中通常为一个很大的二进制文件,文件中包含了整个流应用在Savepoint或Checkpoint的状态。另外元数据文件通常相对较小,其中包含了指向Savepoint目录中各个文件的指针。

上面关于Savepoint的介绍与Checkpoint很类似,但是二者还是有一些不同点的。

首先Checkpoint 是 Flink 用来从故障中恢复的机制,它快照下了整个应用程序的状态,当然也包括输入源读取到的位点。当应用发生故障时,Flink 将通过从 Checkpoint 加载应用程序状态并从恢复出的历史读取位点继续应用的处理,就像什么事情都没发生一样。

SavePoint和Checkpoint的3个不同点

Savepoint 和 Checkpoint 作为 Apache Flink 中的两个非常独特的两个特性,它们在实现中看起来也很相似,然而二者之间也有不同的地方,主要包含如下3点:

目标上的差异

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值