Flink 保存点 -17
1.检查点
(1)Flink的故障恢复算法是基于状态的检查点来完成的
(2)检查点会周期性生成
(3)根据配置检查点可以丢弃
(4)检查点的目的是保证应用在出现故障的时候可以顺利重启
(5)当应用被手动停止后,检查点也随之删除
2.保存点
(1)Flink最有价值且独有的功能
(2)保存点的生成算法原则上与检查点相同
(3)可以把保存点看做包含一些额外元数据的检查点
(4)保存点的生成不是由Flink自动完成
(5)保存点的生成需要用户显式触发
(6)Flink也不会自动清理保存点
3.保存点的使用
(1)可以从保存点启动应用,就能用保存点内的数据初始化状态并从生成保存点的那一刻继续运行应用
(2)这个行为看上去和利用检查点将应用从故障恢复完全一致
(3)从故障恢复只是一种特殊情况
4.保存点的其它作用
(1)从保存点启动一个不同但相互兼容的应用,可以修复应用的一些Bug,然后在数据流来源支持范围内下尽可能多地重新处理输入事件,依次来修复结果。应用修改还可以用于A、B测试或需要不同业务逻辑的假设场景。需要注意的是保存点必须相互兼容,只有这样应用才能加载保存点内的状态
(2)用不同的并行度启动原来应用,从而实现扩容
(3)在另一个集群上启动相同的应用,这允许你把应用迁移到新的Flink版本或是一个不同集群的数据中心
(4)利用保存点暂停某个应用,然后再启动,为更高优先级的应用腾出资源,或者输入数据不连续的情况下及时释放资源
(5)为保存点设置不同版本,并将应用状态归档
(6)用户会周期性创建保存点,从而可以‘’回到过去“
(7)将流式应用迁移到价格最低的数据中心
评论