Checkpoint是為runtime準備的,Savepoint 是為用戶準備的。
Checkpoint 機制的目標在于保證Flink作業意外崩潰重啟不影響exactly once 準確性,通常用于系統容錯。
而Savepoint的目的在于在Flink作業維護(比如更新作業代碼)時將作業狀態寫到外部系統,以便維護結束后重新提交作業可以到恢復原本的狀態。
- Checkpoint異常恢復,保證可用性,在任務發生故障時,為任務提供給自動恢復機制;Savepoint需手動備份、恢復暫停作業的方法。
- Checkpoint 被設計成輕量和快速恢復數據的機制,Savepoint 更多地關注數據的可移植性,并支持對作業做任何更改而狀態能保持兼容
- Checkpoint 是自動和定期的,它們由 Flink 自動地周期性地創建和刪除,無需用戶的交互。
相反,Savepoint 是由用戶手動地管理(調度、創建、刪除)的。