开发者社区> 问答> 正文

Flink如何确认某一段task是否执行完毕?有没有这种机制呢?

我们这里有个需求,Flink从rabbitmq接收消息,需要完整消费处理完前一条,才可以继续消费,因为前一条的结果会影响后面一条的结果准确性。 > > > 2.目前我了解到的rabbitmq有个qos可以限流为1条,但是消息流入Flink处理,我并不知道什么时候处理完了,也没有标识可以知道处理完了。 > > > > 3.通过checkpoint的通知,也不是很准确,我并不清楚checkpoint的备份周期内程序是否执行完成,只能知道checkpoint周期内没有异常 > > > 4.所以想求助下,Flink如何确认某一段task是否执行完毕?有没有这种机制呢?*来自志愿者整理的flink邮件归档

展开
收起
彗星halation 2021-12-08 10:32:17 1638 0
1 条回答
写回答
取消 提交回答
  • 如果我理解没错的话,现在 Flink 无法严格保证消费了一条数据,等待上一条数据处理完成,然后再消费下一条数据的。如果想做到这个需求,需要用户做一些事情。     你说的第 2 点中是否处理完成,这个能否依赖第三方服务,在 sink(或者最后一个 operator) 处理完成之后做通知呢?     checkpoint 如果正常完成的话,那就是没有异常的,不过 checkpoint 没法完全保证一条数据一条数据的处理*来自志愿者整理的flink邮件归档

    2021-12-08 10:47:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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