Apache kafka 卡夫卡消费者没有';在原始kafka实例关闭后,直到它重新启动,才能获取数据?

Apache kafka 卡夫卡消费者没有';在原始kafka实例关闭后,直到它重新启动,才能获取数据?,apache-kafka,persistence,Apache Kafka,Persistence,我正在使用kafka控制台工具,并尝试将其设置为,如果至少有一个kafka服务器实例保持在线,则在使用复制的同时仍然可以发送和接收消息 配置:Zookeeper(本地主机:2181)、kafka1(本地主机:9092)、kafka2(本地主机:9093)、producer1(本地主机:9092)、producer2(本地主机:9093)、consumer1(本地主机:9092)、consumer2(本地主机:9093) 主题:分区=6,复制=2 如果kafka1服务器处于联机状态,则无论kafk


我正在使用kafka控制台工具,并尝试将其设置为,如果至少有一个kafka服务器实例保持在线,则在使用复制的同时仍然可以发送和接收消息

配置:Zookeeper(本地主机:2181)、kafka1(本地主机:9092)、kafka2(本地主机:9093)、producer1(本地主机:9092)、producer2(本地主机:9093)、consumer1(本地主机:9092)、consumer2(本地主机:9093)

主题:分区=6,复制=2

如果kafka1服务器处于联机状态,则无论kafka2的状态如何,发送和接收消息始终有效。但如果kafka1离线,而kafka2在线,则在发送消息后,发送的消息将被提交-偏移量增加,但在kafka1恢复在线之前,任何消费者1和消费者2都无法读取该消息

在我看来,信息需要复制到kafka1才能传递

那么,我的问题是:
1) 为什么kafka1需要在线才能让两个消费者都能接收信息?
2) producer1是否将自身配置为在kafka1脱机时写入kafka2?
3) 如果2)为真,为什么consumer1不将自己配置为从kafka2读取内容?
4) 卡夫卡1离线时,消费者2为什么不接收消息?


谢谢你的回复:)

我想我已经明白了。我只将生产者设置为一个kafka实例,所以如果它处于脱机状态,消息会缓存在某个地方。当它重新上线后,信息被提交并正常发送