如果我回到我的主题的开头,我可能有数百万条消息,我可能想要一次批量处理这些消息并在每批后提交偏移量。我怎么能这样做,因为poll似乎在当前偏移量之后获取所有内容并且commit在返回轮询结束时提交偏移量?
答案 0 :(得分:1)
你可以使用max.partition.fetch.bytes
在每个分区的数据中加上一个上限,唯一的缺点是记录只能那么大,所以如果你不知道记录有多大也许这不是最好的解决方案。
从Kafka返回的每条记录都有该分区上的主题,分区和偏移量,因此当您处理整个批处理时(或者您可能希望在处理完每个消息后执行此操作,因此如果您的消费者发生故障,请不要这样做; t处理消息两次)您可以同步或异步提交偏移量。