卡夫卡消费者在第二次通话时返回空白

时间:2018-05-07 11:39:37

标签: java apache-kafka

我向Kafka生产者插入一条记录然后调用consumer返回插入的元素(以及之前插入的元素)然后我再次调用客户(不用生产者插入新记录)消费者不返回任何记录。

据我所知,该记录应保留在主题中。我不知道如何在属性中将acknowledge设置为false。这个问题与确认有关吗?

1 个答案:

答案 0 :(得分:0)

消费者只会得到新的"消息。如果您之前已阅读过该主题的结尾并且没有任何新内容,那么您将无法获得任何结果。

如果您想再次从主题的开头阅读,您必须"倒带"消费者(或创建一个新消费者)。

  

我不知道如何在属性中将确认设置为false(这个问题与确认有关吗?)

如果使用使用者组,则消费者的偏移量(每个主题分区读取的距离)将存储在Kafka(或旧版本的Zookeeper)中。您可以通过确认(或不确认)收到消息来控制此操作。但是,这仅在重新启动使用者时有效,而不是对已经运行的实例有效。

如果您不使用消费者群体,则此偏移量跟踪纯粹是在消费者实例本身内完成的。

相关问题