提出问题
Flink的 state 状态 都是存在 本机内存 中,而Flink是部署在 多节点 的分布式引擎,分布式系统可能出现 崩溃退出、进程被杀、节点宕机 等问题,那么 当 flink程序重启后,如何保证状态不丢?
如:崩溃前,计算出的最大值是100,崩溃后再次运行,如何接着 100 继续运算?
解决
开启 checkpoint,定期保存状态数据,flink程序崩溃重启后,能够 恢复数据,继续计算
类比
相当于 windows休眠,将计算机当前时刻的状态 保存到硬盘上
重新唤醒时,windows能够 恢复 到休眠时的状态