Checkpoint是(shi)為runtime準備(bei)(bei)的(de),Savepoint 是(shi)為用戶(hu)準備(bei)(bei)的(de)。
Checkpoint 機制(zhi)的目標(biao)在于保證(zheng)Flink作業意外(wai)崩潰重(zhong)啟(qi)不影響exactly once 準確(que)性,通常用于系統容(rong)錯(cuo)。
而Savepoint的目(mu)的在于在Flink作業(ye)(ye)(ye)維護(hu)(hu)(比如更(geng)新(xin)作業(ye)(ye)(ye)代碼(ma))時將作業(ye)(ye)(ye)狀態(tai)寫到外部系統,以(yi)便維護(hu)(hu)結(jie)束后(hou)重新(xin)提交作業(ye)(ye)(ye)可(ke)以(yi)到恢復原本的狀態(tai)。
- Checkpoint異常恢(hui)復(fu),保證可(ke)用(yong)性(xing),在任務發(fa)生故(gu)障(zhang)時(shi),為任務提供給(gei)自動恢(hui)復(fu)機制;Savepoint需手(shou)動備份、恢(hui)復(fu)暫(zan)停作(zuo)業的(de)方法。
- Checkpoint 被設(she)計成輕(qing)量和快(kuai)速(su)恢復(fu)數(shu)據(ju)的(de)(de)機制,Savepoint 更多地(di)關注數(shu)據(ju)的(de)(de)可(ke)移植(zhi)性,并支持對作業做(zuo)任何更改而狀態能(neng)保持兼容
- Checkpoint 是自動和(he)定期的,它們由 Flink 自動地(di)周期性地(di)創建(jian)和(he)刪除,無(wu)需用戶的交互。
相反(fan),Savepoint 是由用(yong)戶(hu)手動地管理(li)(調(diao)度、創建(jian)、刪除)的。