flink kafka 保证 Exactly Once 语义

flink 通过checkpoint机制来定期保存计算任务的快照,包含两个重要的参数:
1、整个计算任务的状态,
2、数据源的位置信息,比如kafka的offset

flink通过数据流中插入一个barrier(屏障)来确保checkpoint中的位置和状态完全对应

flink kafka 保证 Exactly Once 语义_第1张图片

kafka的exactly once语义通过事务和生产幂等共同实现

端到端的exactly once指的是数据从kafka的A主题消费,发送给flink的计算集群进行计算,计算结果再发送给kafka的B主题。

每个flink的checkpoint对应一个kafka的事务,flink在创建一个checkpoint时,同时开启kafka的事务,完成checkpoint的同时提交kafka事务,这个操作通过flink分布式事务控制器解决

你可能感兴趣的:(flink,消息队列)