Checkpoint是为runtime准备的,Savepoint 是为用户准备的。
Checkpoint 机制的目标在于保证Flink作业意外崩溃重启不影响exactly once 准确性,通常用于系统容错。
而Savepoint的目的在于在Flink作业维护(比如更新作业代码)时将作业状态写到外部系统,以便维护结束后重新提交作业可以到恢复原本的状态。
- Checkpoint异常恢复,保证可用性,在任务发生故障时,为任务提供给自动恢复机制;Savepoint需手动备份、恢复暂停作业的方法。
- Checkpoint 被设计成轻量和快速恢复数据的机制,Savepoint 更多地关注数据的可移植性,并支持对作业做任何更改而状态能保持兼容
- Checkpoint 是自动和定期的,它们由 Flink 自动地周期性地创建和删除,无需用户的交互。
相反,Savepoint 是由用户手动地管理(调度、创建、删除)的。