开发者社区> 问答> 正文

Flink exactly once需要Barrier对齐吗

已解决

Flink exactly once需要Barrier对齐吗

展开
收起
提个问题 2024-06-02 18:07:18 59 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    Flink中的一个大的特性就是exactly-once的特性,Barrier对齐发生在一个处理节点需要接收上游不同处理节点的数据,由于不同的上游节点数据处理速度不一致,那么就会导致下游节点接收到 Barrier的时间点也会不一致,这时候就需要使用Barrier对齐机制。
    在同一checkpoint中,先到达的Barrier是否需要等待其他处理节点Barrier达到后在发送后续数据,Barrier将数据流分为前后两个checkpoint(chk n,chk n+1)的概念,如果不等待那么就会导致chk n的阶段处理了chk n+1阶段的数据,但是在source端所记录的消费偏移量又一致,如果chk n成功之后,后续的任务处理失败,任务重启会消费chk n+1阶段数据,就会到致数据重复消息,如果Barrier等待就不会出现这样情况,因此Barrier需要对齐那么就是实现exectly once语义,否则实现的是at least once语义。
    由于状态是属于Flink内部存储,所以Flink仅仅满足内部exectly once语义。
    2024-06-02 18:07:20
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载