Wir haben gerade Kafka für unser Projekt verwendet. Wir verwenden kafka_2.11-0.9.0.0. Ich habe ein paar Fragen zu KafkaConsumer.Kafka Verbraucherumfrage und -wiederherstellung
1) Ich habe Kafka Consumer gestartet, bevor ich den Zookeeper und den Kafka-Server gestartet habe, aber mein KafkaConsumer-Client konnte trotzdem eine Verbindung herstellen. Ich habe folgende Zeilen Code
Consumer<String, String> consumer = new KafkaConsumer<String,String>(props);
consumer.subscribe(getConsumerRegisteredTopics());
while (true) {
ConsumerRecords<String, String> records = consumer.poll(Long.MAX_VALUE);
for (ConsumerRecord<String, String> record : records){
processRecord (record)
}
}
2) Ich habe gelesen, Zookeeper hält Spuren der aktiven Verbraucher durch die Verwendung von poll (long timeout) Methodenaufruf. Wenn ich Long.MAX_VALUE mit timeout in poll() verwende, wird der Tierpfleger den Überblick über meine Kunden behalten. Könnten Sie mir bitte helfen, das Verhalten von KafkaConsumer Poll Call zu verstehen?
Vielen Dank im Voraus.
Vielen Dank für Ihre Antwort. Wenn mein Konsument in der Poll-Methode auf Long.MAX_VALUE wartet, wie sendet er einen Herzschlag und wie weiß Kafka Server/Zookeeper, dass mein Konsument noch am Leben ist? – user1874156
der Heartbeat ist da, um sicherzustellen, dass Ihr Anwendungscode am Leben ist. Solange sich der Kontrollfluss in Ihrem Programm innerhalb der Poll-Methode befindet, müssen Sie sich nicht um Herzschläge kümmern. –