Apache Flink 中的 Checkpoint(检查点) 和 Savepoint(保存点) 虽然都是用于保存作业状态(State)的快照机制,且底层实现原理相似(都基于 Chandy-Lamport 算法),但它们的设计目的、生命周期和使用场景有本质的区别。 可以将它们简单类比为: Checkpoint 是游戏的自动存档(为了防止突然死机,系统自动存的,速度快)。 Savepoint 是游戏的手动存档(你要关机睡觉了,或者要打最终BOSS前,手动存一个永久档,以后可以随时读取)。 以下是详细的对比分析: 1. 核心区别对比表 | 特性 | Checkpoint (检查点) | Savepoint (保存点) | | :--- | :--- | :--- | | 核心目的 | 容错恢复 (Fault Tolerance)。用于作业意外失败(如机器宕机、网络中断)后的自动重启恢复。 | 运维操作 (Operations)。用于有计划的备份、更新代码、修改并发度、版本升级等。 | | 触发方式 | 自动。由 Flink JobManager 根据配置的时间间隔周期性触发。 | 手...