Checkpoint是為runtime準(zhun)備(bei)的,Savepoint 是為用戶準(zhun)備(bei)的。
Checkpoint 機制的目標在于保證Flink作業意外崩潰重啟(qi)不影響(xiang)exactly once 準確性,通常用于系統容(rong)錯。
而Savepoint的目的在(zai)于在(zai)Flink作(zuo)(zuo)(zuo)業(ye)維護(比如更新作(zuo)(zuo)(zuo)業(ye)代(dai)碼)時將作(zuo)(zuo)(zuo)業(ye)狀(zhuang)態(tai)寫到外部(bu)系(xi)統,以便維護結束(shu)后(hou)重新提交作(zuo)(zuo)(zuo)業(ye)可(ke)以到恢復(fu)原(yuan)本的狀(zhuang)態(tai)。
- Checkpoint異常恢復(fu),保證可(ke)用性,在任(ren)務(wu)(wu)發生故(gu)障時,為任(ren)務(wu)(wu)提供給自動恢復(fu)機制;Savepoint需手(shou)動備份、恢復(fu)暫停(ting)作業的方法。
- Checkpoint 被設計(ji)成(cheng)輕(qing)量(liang)和快(kuai)速恢復數據(ju)的機(ji)制(zhi),Savepoint 更多地關注數據(ju)的可移植性,并(bing)支(zhi)持對作業(ye)做任何(he)更改而狀態能保持兼容
- Checkpoint 是自(zi)(zi)動和定期(qi)的,它們(men)由 Flink 自(zi)(zi)動地周期(qi)性(xing)地創建和刪除,無需(xu)用戶的交(jiao)互。
相反,Savepoint 是(shi)由用(yong)戶手動地管理(li)(調度、創建、刪除)的。