.net core kafka服务器重新启动后丢失未处理的消息

.net core kafka服务器重新启动后丢失未处理的消息,.net-core,apache-kafka,.net Core,Apache Kafka,我已经保留了auto.offset.reset=最早的 在这里,我的情况是不同的 我有1个zookeeper和3个代理。现在我停止了消费者并开始发布消息(比方说4条消息,后来我停止了Kafka服务器(1个zookeeper和3个代理),现在我组建了消费者。一段时间后,我组建了Kafka服务器(1个zookeeper和3个代理) 由于“我的4条消息”未由使用者处理,因此它现在应该处理,但不会发生。这是正常行为。如果没有可用的代理,则您无法生成消息,因此消息将丢失。在这种情况下,您的生产者在尝试生成

我已经保留了
auto.offset.reset=最早的

在这里,我的情况是不同的

我有1个zookeeper和3个代理。现在我停止了消费者并开始发布消息(比方说4条消息,后来我停止了Kafka服务器(1个zookeeper和3个代理),现在我组建了消费者。一段时间后,我组建了Kafka服务器(1个zookeeper和3个代理)


由于“我的4条消息”未由使用者处理,因此它现在应该处理,但不会发生。

这是正常行为。如果没有可用的代理,则您无法生成消息,因此消息将丢失。在这种情况下,您的生产者在尝试生成消息时应收到一个错误:然后他必须处理此情况,然后重试在至少有一个Kafka代理可用之前,eep不会发布消息。

我使所有代理都处于上升状态,但消费者处于下降状态,现在我发布了消息。由于我的代理处于上升状态,生产者可以向Kafka代理生成消息。但所有这些消息都不会被消费者使用,因为它处于下降状态。现在,我发布的消息应为Kafka broker。后来我停止了Kaka brokers,然后在一段时间后重新启动了Kafka brokers和consumer,理想情况下,consumer必须使用我之前发布的消息。但事实并非如此。我们需要了解有关您的配置的更多信息。您能否发布代理的server.properties文件以及主题配置(例如使用kafka主题--descripe)。此外,kafka日志(或在server.properties中配置的任何目录)目录的内容也会有所帮助。您的使用者是用什么语言编写的?Java、Python等?您能提供源文件吗?我们已经在dotnet core(c#语言)中创建了生产者和消费者作为一个服务,我们使用dockers来运行服务和kada服务器(1个zookeeper,3个代理)