当我有一个kafka控制台生产者消息时,会产生一些消息,然后启动使用者,但我没有收到消息。
但是我在消费者启动后收到生产者发出的消息。卡夫卡消费者是否应该在生产者之前启动?
-从头开始似乎会提供所有消息,包括已消耗的消息。
请在控制台级别和Java客户端示例中为我提供帮助,以首先启动生产者并通过启动使用者来进行消费。
答案 0 :(得分:0)
Kafka将消息存储一段可配置的时间。默认为一周。消费者不必“有空”接收消息,但是他们确实需要知道应该从哪里开始阅读
控制台使用者具有默认选项,即查看所有分区的最新偏移量。因此,如果您不积极地生成数据,那么作为消费者,您将一无所获。您可以为控制台使用者或Java客户端指定一个group
标志,这将跟踪在Kafka协议中读取哪些偏移量,以及如果您在组中停止了该使用者,将从何处恢复读取请求
否则,我认为您只能给一个偏移量和一个要从
使用的分区