我向Kafka生产者插入一条记录然后调用consumer返回插入的元素(以及之前插入的元素)然后我再次调用客户(不用生产者插入新记录)消费者不返回任何记录。
据我所知,该记录应保留在主题中。我不知道如何在属性中将acknowledge设置为false。这个问题与确认有关吗?
答案 0 :(得分:0)
消费者只会得到新的"消息。如果您之前已阅读过该主题的结尾并且没有任何新内容,那么您将无法获得任何结果。
如果您想再次从主题的开头阅读,您必须"倒带"消费者(或创建一个新消费者)。
我不知道如何在属性中将确认设置为false(这个问题与确认有关吗?)
如果使用使用者组,则消费者的偏移量(每个主题分区读取的距离)将存储在Kafka(或旧版本的Zookeeper)中。您可以通过确认(或不确认)收到消息来控制此操作。但是,这仅在重新启动使用者时有效,而不是对已经运行的实例有效。
如果您不使用消费者群体,则此偏移量跟踪纯粹是在消费者实例本身内完成的。