Flink的checkpoints默认是增量的。
Flink作为一款流处理框架,其容错机制主要依赖于checkpoints。以下是关于Flink checkpoints的详细解释:
state.checkpoints.num-retained
来保留多个checkpoints。这样做的好处是可以提供更多的恢复点,以防最新的几个checkpoints失败或损坏。综上所述,Flink的checkpoints在默认情况下是增量的,这有利于提高checkpoint的效率并减少对系统资源的影响。用户可以根据需要调整配置以满足不同的容错和恢复需求。
Flink的checkpoints默认是全量的。
在 Flink 中,checkpoint 是一种机制,用于保证应用程序状态的一致性和可恢复性。Flink 最初只支持全量 checkpoint,即每个 checkpoint 都包含应用程序的完整状态。这种模式对于状态规模较大的作业来说,会导致 checkpoint 操作耗时较长,对性能有一定影响。为了解决这个问题,Flink 引入了增量 checkpoint 的概念。
增量 checkpoint 仅记录两个连续 checkpoint 之间状态的变化,而不是每次 checkpoint 都保存全部状态。这大大减少了数据传输和存储的开销,提高了 checkpoint 的效率。用户反馈显示,在使用 TB 级别状态的作业中,增量 checkpoint 能够将 checkpoint 时间从几分钟减少到几十秒。
需要注意的是,增量 checkpoint 目前只能在 RocksDB StateBackend 上使用,并且需要通过设置构造函数的一个参数来启用。此外,Flink 会自动清理旧的 checkpoint 文件,以防止增量 checkpoint 的历史记录无限增长。
总的来说,虽然 Flink checkpoints 的默认行为是全量的,但增量 checkpoint 提供了一个性能更优的选择,特别是对于那些状态规模很大的作业。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。