kafka消费者在第二次调用时返回空

mdfafbf1  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(321)

我向kafka producer插入一个记录,然后调用consumer,consumer返回插入的元素(和以前插入的元素),然后我再次调用customer(不使用producer插入新记录),consumer不返回任何记录。
据我所知,这一记录应该保留在主题中。我不知道如何将属性中的acknowledge设置为false。这个问题与确认有关吗?

wrrgggsh

wrrgggsh1#

消费者只会收到“新”消息。如果你以前一直读到主题的结尾,没有什么新东西,你就什么也得不到。
如果你想再从头开始阅读,你必须“倒带”消费者(或创建一个新的消费者)。
我不知道如何在属性中将确认设置为false(这个问题与确认有关吗?)
如果使用使用者组,使用者的偏移量(每个主题分区的读取距离)将存储在kafka中(对于旧版本,则存储在zookeeper中)。您可以通过确认(或不确认)收到消息来控制这一点。但是,这仅在使用者重新启动时有效,而不是对已在运行的示例有效。
如果不使用使用者组,则此偏移量跟踪纯粹在使用者示例本身内完成。

相关问题