Stream 卡夫卡的第一条信息丢失

Stream 卡夫卡的第一条信息丢失,stream,apache-kafka,commit,Stream,Apache Kafka,Commit,我试图从kafka主题获取消息,并查看如果我将auto.commit.reset策略设置为“最早”,所有消息都会得到正确处理。但如果设置为“最新”,第一条消息将丢失,其余消息将得到正确处理。如果我这里遗漏了什么,有人能帮忙吗?假设您使用的组没有提交任何偏移量,当设置auto.commit.reset为latest时,消费者只会收到新消息,所以我不太确定“第一条消息”是什么意思 我通过自动递增消息ID(从1开始)来发送消息流。消息看起来类似于{ID:$ID_no(这是自动递增的,“消息”:“这是一

我试图从kafka主题获取消息,并查看如果我将auto.commit.reset策略设置为“最早”,所有消息都会得到正确处理。但如果设置为“最新”,第一条消息将丢失,其余消息将得到正确处理。如果我这里遗漏了什么,有人能帮忙吗?

假设您使用的组没有提交任何偏移量,当设置
auto.commit.reset
latest
时,消费者只会收到新消息,所以我不太确定“第一条消息”是什么意思

我通过自动递增消息ID(从1开始)来发送消息流。消息看起来类似于{ID:$ID_no(这是自动递增的,“消息”:“这是一个示例消息”)}。在发送25条消息流时,我能够看到ID为2的消息的输出。但是ID为1的消息未被处理,也未显示在输出中。当您启动生产者时,消费者是否已连接并准备好消费?我确信消费者已准备好,因为当我将auto.commit.reset设置为“最早”时,第一条消息也会被处理。但不确定设置为“仅最新”时后台发生了什么,这是导致问题的原因。当您使用auto.commit.reset latest时,不要假定使用者已准备就绪。使用者组需要先平衡,然后才能接收消息。启动consumer并等待组平衡(您可以检查日志),然后再生产。好的。您能否指导我如何确保并等待消费者平衡完成(或)解决方案?