深入了解 Flink 如何实现端到端的 Exactly-Once 处理语义

Posted @SmartSi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入了解 Flink 如何实现端到端的 Exactly-Once 处理语义相关的知识,希望对你有一定的参考价值。


这篇文章改编自2017年柏林Flink Forward上Piotr Nowojski的演讲。你可以在 Flink Forward Berlin 网站上找到幻灯片和演示文稿。

2017年12月发布的 Apache Flink 1.4.0 为 Flink 的流处理引入了一个叫 TwoPhaseCommitSinkFunction 重要特性(此处为相关的Jira),提取了两阶段提交协议的通用逻辑,使得在 Flink 和一系列 Source 和 Sink(包括 Apache Kafka 0.11 版本以及更高版本)之间构建端到端的 Exactly-Once 语义的应用程序成为可能。它提供了一个抽象层,用户只需实现几个方法就可以实现端到端的 Exactly-Once 语义。

如果这就是你需要了解的全部内容,可以去这个地方了解如何使用 TwoPhaseCommitSinkFunction。或者你可以直接去看实现 Exactly-Once 语义的

以上是关于深入了解 Flink 如何实现端到端的 Exactly-Once 处理语义的主要内容,如果未能解决你的问题,请参考以下文章

Flink实战系列Flink 如何实现全链路延迟监控

端到端的实时计算:TiDB + Flink 最佳实践

解构流存储 — Pravega,与 Flink 构建端到端的大数据流水处理线

端到端的精确一次保证

Flink SavePoint

flink如何利用checkpoint保证数据状态一致性