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