开发者社区> 问答> 正文

Flink kafka Consumer的commit offset方式有什么?

Flink kafka Consumer的commit offset方式有什么?

展开
收起
游客qzzytmszf3zhq 2021-12-07 20:17:59 1468 0
1 条回答
写回答
取消 提交回答
  • Flink kafka consumer commit offset方式需要区分是否开启了checkpoint。

    如果checkpoint关闭,commit offset要依赖于kafka客户端的auto commit。需设置enable.auto.commit, auto.commit.interval.ms 参数到consumer properties,就会按固定的时间间隔定期auto commit offset到kafka。

    如果开启checkpoint,这个时候作业消费的offset是Flink在state中自己管理和容错。此时提交offset到kafka,一般都是作为外部进度的监控,想实时知道作业消费的位置和lag情况。此时需要setCommitOffsetsOnCheckpoints为true来设置当checkpoint成功时提交offset到kafka。此时commit offset的间隔就取决于checkpoint的间隔,所以此时从kafka一侧看到的lag可能并非完全实时,如果checkpoint间隔比较长lag曲线可能会是一个锯齿状。

    2021-12-07 20:36:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载