Flink --- Qos

本文介绍了Apache Flink中的服务质量(QoS)分类,包括At Most Once、At Least Once和Exactly Once,以及它们的适用场景。At Least Once适用于实时性要求高但允许结果存在误差的场景,而Exactly Once则确保结果精确但可能导致延迟增加。Flink当前支持At Least Once和Exactly Once。Exactly Once的实现原理涉及到Operator的流对齐和Barrier同步,确保数据不被错误地混合。端到端Exactly-once需要Source和Sink的配合,Source能重置消费位点,Sink在Checkpoint完成后发送结果。
摘要由CSDN通过智能技术生成

Qos分类

  1. At Most Once:数据最多被处理一次,这种处理机制存在数据丢失的风险;
  2. At Least Once:数据最少被处理一次,存在数据重复计算的问题;
  3. Exactly Once:数据仅被处理一次,计算结果精准,代价是延迟增大;

目前Apache Flink 支持At Least Once和Exactly Once两种Qos。

适用场景

  • At Least Once:实时性要求高,结果存在一定误差的场景(可能偏大);
  • Exactly Once:结算结果要求精准,容忍一定延迟的场景;

实现原理

  • At Least Once:Operator跳过流对齐,接受到数据后就开始计算,计算完成后数据流向下游,这就导致checkpoint n+1的数据可能被划分到checkpoint n中,因此如果中间过程找出现错误,重新恢复时可能出现重复计算,由于没有流对齐,因此实时性好。

When the alignment is skipped, an operator keeps processing all inputs, even after some checkpoint barriers for checkpoint n arrived. That way, the operator also processes elements that belong to checkpoint n+1 before the state snaps

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值