
今天给大家简单介绍一下关于Flink提供的两种主要的处理语义,它们分别是At-least-once和Exactly-once!
At-least-once:少一次,保证每个记录至少被处理一次,可能会被处理多次。这种语义易于实现但不能保证精确的结果。
例如:
env.setProcessingTimeCharacteristic(TimeCharacteristic.ProcessingTime);
At-least-once:通过 ACK 确认和重试机制保证每个记录最终处理。
Exactly-once:精确一次,保证每个记录只被处理一次,实现精确的结果。这需要更复杂的传输和检查点机制来实现。
例如:
env.setProcessingTimeCharacteristic(TimeCharacteristic.IngestionTime);
Exactly-once:通过两阶段提交协议和基于检查点的容错机制确保每个记录仅处理一次。
两则之间的区别:
1、处理结果:至少一次可能重复,精确一次保证单一;
2、数据传输:至少一次简单通过 ACK 确认,精确一次需要两阶段提交;
3、容错机制:至少一次通过重试实现,精确一次需要基于检查点的容错;
4、实现难度:至少一次简单,精确一次复杂。
标签: At-least-once, Exactly-once, flink, Flink处理语义
上面是“Flink的两种主要的处理语义的区别在哪”的全面内容,想了解更多关于 后端开发 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_5018.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

迅排设计Poster-Design:开源免费的全能在线创意图文编辑器
nodejs如何实现删除数组元素
工标网:收录了包括国家标准、行业标准、地方标准、国际标准近百万条标准文献
港交所披露易官网入口,香港交易所专设的独立站点
推荐一款来自微软前端工程师的 CSS 高级教程——ModernCSS.dev
一款一站式的智能创意生产与管理平台——抖音即创