Kafka消费者,如何消费最新的消息?

假如现在生产者和消费者都启动了,而消费者挂了两天了,这个时候堆积了很多数据,而我只想消费最新的数据,消费者应该怎么做呢,我看过一些资料,好像没找的相关的内容。

可以总结为:我想随意的移动消费者的偏移量,可以做到吗?

阅读 15.8k
5 个回答

看了一些书,是可以移动的,看你具体语言具体的操作方法了,Java提供了方法

你要是能改变消费者,那还要那么多引导消费者干嘛,肯定是不行的啊,而且想获取用户的最新消息还不简单,用数据库啊。想要那天的数据用那天的数据

可以试试配置默认消费偏移量为最新 spring.kafka.consumer.auto-offset-reset=latest 不过这个配置理论上只对第一次消费(此时没有偏移量,按配置的策略来)有效,不过可以变通的方式来实现,如果每次启动时 group.id 不同的话可以实现,当然这种方式有点重

如果只是想消费最新的消息,而且堆积的历史消息确认不要了,可以开启一个空消费者,仅拉取消息而不处理,这样应该很快将堆积的消息处理完

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进