flink checkpoint时exact-one模式和atleastone模式的区别

这篇具有很好参考价值的文章主要介绍了flink checkpoint时exact-one模式和atleastone模式的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

flink在开启checkpoint的时候有两种模式可以选择,exact-one和atleastone模式,那么这两种模式有什么区别呢?

exact-one和atleastone模式的区别

先说结论:exact-one可以完全做到状态的一致性,而atleastone模式正常情况下没法做到状态的一致性,如果开启这个模式,有些消息会重复处理,例如统计计数时,重复的消息会导致统计两次
那么为什么会这样呢?原理如下:
flink checkpoint时exact-one模式和atleastone模式的区别,flink,flink,大数据

简单来说,主要的区别在于两种模式下对于接收到ckp分隔符后对齐过程中是否继续处理已经收到ckp分隔符的chanel的记录的不同,exactone是ckp分隔符对齐过程中先缓存记录不处理,而atleastone在ckp分隔符对齐过程中正常处理消息,这样这些消息就会被当成这次ckp的状态的一部分,而其实它不应该是这次ckp状态的一部分,而在应用从最新的ckp启动后,这些记录又有重新消费,叠加上之前已经成为ckp状态的那一次,相当于消息被重复处理了两次,所以才被称为atleastone模式

彩蛋:那么atleastone有可能达到exactone一样的效果吗?

有,前提是作业不需要包含对齐操作,也就是比如只包含map,fliter等并行算子,完全不需要分隔符对齐,但是这种情况下应该直接设置为exactone就完事了,不用故意使用atleastone的文章来源地址https://www.toymoban.com/news/detail-676713.html

到了这里,关于flink checkpoint时exact-one模式和atleastone模式的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flink非对齐checkpoint原理(Flink Unaligned Checkpoint)

    为什么提出Unaligned Checkpoint(UC)? 因为反压严重时会导致Checkpoint失败,可能导致如下问题 恢复时间长-服务效率低 非幂等和非事务会导致数据重复 持续反压导致任务加入死循环(可能导致数据丢失,例如超过kafka的过期时间无法重置offset) UC的原理 UC有两个阶段(UC主要是

    2024年02月14日
    浏览(15)
  • flink读写kafka保证端到端exactly-once

    内容: 本文主要介绍使用flink读写kafka,如何保证exactly-once Kafka端到端一致性需要注意的点: Flink任务需要开启checkpoint配置为CheckpointingMode.EXACTLY_ONCE Flink任务FlinkKafkaProducer需要指定参数Semantic.EXACTLY_ONCE Flink任务FlinkKafkaProducer配置需要配置transaction.timeout.ms,checkpoint间隔(代码指定

    2023年04月14日
    浏览(7)
  • Flink实战(11)-Exactly-Once语义之两阶段提交

    [Apache Flink]2017年12月发布的1.4.0版本开始,为流计算引入里程碑特性:TwoPhaseCommitSinkFunction。它提取了两阶段提交协议的通用逻辑,使得通过Flink来构建端到端的Exactly-Once程序成为可能。同时支持: 数据源(source) 和输出端(sink) 包括Apache Kafka 0.11及更高版本。它提供抽象层

    2024年02月05日
    浏览(11)
  • 【flink】Checkpoint expired before completing. 使用flink同步数据出现错误Checkpoint expired before completing.

    任务超时了: 重新把任务配置参数,配置如下: 或者修改 flink的 配置文件flink-conf.yaml 

    2024年02月12日
    浏览(12)
  • Flink本地checkpoint测试

    在本地IDEA测试中,使用本地文件存储系统,作为checkpoint的存储系统,将备份数据存储到本地文件中,作业停止后,从本地备份数据启动Flink程序。 主要分为两步: 1)备份数据 2)从备份数据启动 备份数据的配置,和使用HDFS文件体统类似,只不过路径填写成本地文件系统的

    2024年02月15日
    浏览(14)
  • Flink: checkPoint

    依据1.17.1 最新版本的内容研究下期运作原理,总的来说其实就是设置一些参数,这些参数就会影响到如何存储checkpoint的问题.用起来没什么难的,参数配置的组合到是挺多cuiyaonan2000@163.com 参考资料: Checkpointing | Apache Flink State Backends | Apache Flink Flink 中的每个方法或算子都能够是 有

    2024年02月12日
    浏览(14)
  • 【Flink入门修炼】2-3 Flink Checkpoint 原理机制

    如果让你来做一个有状态流式应用的故障恢复,你会如何来做呢? 单机和多机会遇到什么不同的问题? Flink Checkpoint 是做什么用的?原理是什么? Checkpoint 是对当前运行状态的完整记录。程序重启后能从 Checkpoint 中恢复出输入数据读取到哪了,各个算子原来的状态是什么,并

    2024年04月25日
    浏览(9)
  • Flink 学习八 Flink 容错机制 & checkpoint & savepoint

    https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/concepts/stateful-stream-processing/ 上一节讲述 状态后端 ;Flink是一个 带状态stateful 的数据处理系统,在处理数据的过程中,各个算子的记录的状态会随着算子处理的状态而改变 ; 状态后端 负责将状态保存在内存或外部持久化存储中 (内存

    2024年02月09日
    浏览(32)
  • Flink源码之Checkpoint执行流程

    Checkpoint完整流程如上图所示: JobMaster的CheckpointCoordinator向所有SourceTask发送RPC触发一次CheckPoint SourceTask向下游广播CheckpointBarrier SouceTask完成状态快照后向JobMaster发送快照结果 非SouceTask在Barrier对齐后完成状态快照向JobMaster发送快照结果 JobMaster保存SubTask快照结果 JobMaster收到所

    2024年02月11日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包