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