You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Kafka主题中最后一条已消费消息的偏移量?

关于Kafka已消费消息偏移量的确认问题

场景说明

  • 向主题A发送6条消息
  • 接入消费者消费所有消息后断开连接,通过KafkaJS的fetchTopicOffsets查询得到:offset=6,high=6,low=0
  • 再次向主题A发送6条消息,接入新消费者时,该消费者会从偏移量6开始消费;此时用fetchTopicOffsets查询得到:offset=12,high=12,low=0

核心问题

是否可以确定该Kafka主题中最后一条已消费消息的偏移量?

结论与分析

可以确定,此场景下最后一条已消费消息的偏移量为5。

原因在于:KafkaJS中fetchTopicOffsets返回的offset代表的是下一条待消费消息的偏移量,而非最后一条已消费消息的偏移量。第一个消费者消费了偏移量0、1、2、3、4、5的6条消息,消费完成后,下一条待消费的偏移量就是6,这和查询结果一致;当新增6条消息后,新消费者从6开始消费,消费完成后下一条待消费偏移量变为12,同样符合查询结果。因此用fetchTopicOffsets返回的offset值减1,就能得到最后一条已消费消息的偏移量。

内容的提问来源于stack exchange,提问作者William Jiang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 19:42:35