Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果在生产者之后启动,卡夫卡消费者不会读取生产者发送的消息_Java_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Java 如果在生产者之后启动,卡夫卡消费者不会读取生产者发送的消息

Java 如果在生产者之后启动,卡夫卡消费者不会读取生产者发送的消息,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,我发现属性auto.offset.reset=最早或auto.offset.reset=最新 现在是我的场景,有1个主题,1个分区,1个消费者 例如,我已经开始制作。制作人向主题发送100张唱片。现在我开始讨论消费者。根据属性auto.offset.reset=我的使用者将从分区的0索引开始读取记录。 现在,如果我的消费者对1-100记录进行异步提交,并且记录下降。同时,制作人发送了100多张唱片。当使用者出现时,它将开始从分区的0索引读取消息,还是从分区的101索引读取消息,并从101到200

我发现属性auto.offset.reset=最早或auto.offset.reset=最新

现在是我的场景,有1个主题,1个分区,1个消费者

例如,我已经开始制作。制作人向主题发送100张唱片。现在我开始讨论消费者。根据属性auto.offset.reset=我的使用者将从分区的0索引开始读取记录。
现在,如果我的消费者对1-100记录进行异步提交,并且记录下降。同时,制作人发送了100多张唱片。当使用者出现时,它将开始从分区的0索引读取消息,还是从分区的101索引读取消息,并从101到200处理记录。

偏移量与此不相关。您应该将其配置为从开始读取的属性。在java中,有类似于seektobegining的东西,因为Kafka 0.9以后如果提交成功,Kafka将把使用者的进度存储在一个特殊的内部主题
\u consumer\u offset
中。此主题存储每个使用者组在主题和分区上使用的偏移量

因此,当您的消费者再次启动时(在同一消费者组内!),它将继续读取最后提交的偏移量(在您的示例中为101)
auto.offset.reset
指定在
\uuu consumer\u offset
中没有信息时的行为(您还没有任何提交)