首页 > 其他分享 >Kafka Consumer指定时间戳位置消费消息

Kafka Consumer指定时间戳位置消费消息

时间:2022-10-24 16:01:09浏览次数:62  
标签:消费 -- 指定 Kafka 时间 消息 offset Consumer

Kafka Consumer指定时间戳位置消费消息

若用户不想从最旧的最早的offset位置开始消费,想指定某个时间戳位置开始消费,是否可行呢? 答案:可行的

用户给定时间戳,kafka server通过时间戳确定并返回距离时间戳最近的一条消息的offset,从返回的offset开始消费消息即从用户指定某个时间戳开始消费消息

一、生产者生产消息用于测试

Topic:data-time,通过图1和图2的offset,共产生2850条消息


图1


图2

二、消费者消费消息验证测试


图3


图3对比图2可知,消费者最后一条消息:2022-09-24 10:53:45...131, offset=2849。消费者消费生产者发布的2850条消息(即全部发布消息)

利用offset explorer也可以佐证:

三、Kafka Server端通过时间戳修改offset

实验目的:想从offset=36开始消费消息,需要给定的时间戳:2022-10-24 09:33:42.016注意:此处的时间参考是格林威治时间,使用时要转为东八区北京时间,即减8h

进入kafka\bin\windows目录下,打开cmd.exe
输入命令:kafka-consumer-groups.bat --reset-offsets --to-datetime 2022-10-24T01:33:42.016 --group console-consumer-1 --bootstrap-server localhost:9092 --execute --topic data-time

由上图结果可知:offset更新到36,验证结果跟实验目的一致,验证可行性。

标签:消费,--,指定,Kafka,时间,消息,offset,Consumer
From: https://www.cnblogs.com/caojun97/p/16821081.html

相关文章