欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > flink端到端数据一致性

flink端到端数据一致性

2025/4/29 7:36:20 来源:https://blog.csdn.net/weixin_43753599/article/details/147524308  浏览:    关键词:flink端到端数据一致性

这里有一个注意点,就是flink端的精准一次

1.barrier对齐精准和一次非对齐精准一次 对比​

​维度​​Barrier 对齐的精准一次​​Barrier 非对齐的精准一次​
​触发条件​需等待所有输入流的 Barrier 对齐后才能触发检查点 收到第一个 Barrier 立即触发,无需等待对齐 
​数据处理方式​对齐期间阻塞部分数据流,仅处理未到达 Barrier 的分区数据 允许所有数据继续流动,将 Barrier 后的数据标记为 in-flight 并保存 
​状态保存内容​仅保存算子自身的状态(如累加器、窗口状态)额外保存输入/输出缓冲区中的未处理数据(in-flight 数据)
​资源开销​低(仅保存状态),但可能因对齐阻塞导致吞吐下降 高(需保存大量缓冲区数据),但减少阻塞时间 
​适用场景​低延迟要求不高的场景,或输入流速率均衡的场景 高吞吐、高延迟或反压严重的场景

​1. Barrier 对齐的精准一次​
  • ​触发逻辑​​:
    当算子收到所有输入流的 Barrier 后,才会触发状态快照。例如,若某个算子有两个输入流,需等待两个流的 Barrier 均到达 。
  • ​数据处理流程​​:
    • 部分输入流的 Barrier 先到达时,该流后续数据会被缓存(阻塞),其他流的数据继续处理 。
    • 所有 Barrier 对齐后,统一保存状态并向下游广播 Barrier; 

  • ​优点​​:
    • 状态体积小,恢复速度快;
    • 严格保证数据仅处理一次; 

​2. Barrier 非对齐的精准一次​
  • ​触发逻辑​​:
    收到任意一个输入流的 Barrier 后立即触发快照,无需等待其他流的 Barrier ;
  • ​数据处理流程​​:
    • 继续处理所有输入流的数据,包括 Barrier 之后的数据;
    • 将 Barrier 到达时未处理的数据(输入缓冲区)和已处理但未输出的数据(输出缓冲区)标记为 in-flight 数据,与状态一起保存 ;
  • ​优点​​:
    • 避免因对齐导致的阻塞,提升吞吐量和反压容错能力;
    • 适用于网络延迟波动或输入流速率差异大的场景

生产环境选择建议​

​场景​​推荐机制​​理由​
输入流速率均衡且延迟敏感Barrier 对齐避免额外存储开销,恢复效率高 

1

4

高吞吐或反压严重Barrier 非对齐减少阻塞时间,缓解反压影响 

6

7

状态体积敏感(如 TB 级状态)Barrier 对齐非对齐模式保存的 in-flight 数据可能显著增加存储成本 

3

7

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词