Ich mache einen Testlauf mit Kafka mit dem Kommandozeilengenerator und Consumer.Kafka Command Line Producer/Consumer haben 1 Sekunde Latenz
Ich laufe dies in einem Terminal-Fenster
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic tag7
und diese in einem anderen
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic tag7 --zookeeper localhost:2181
aber es dauert mehr als 1 Sekunde für die Daten, die ich durch den Verbraucher gedruckt gesendet werden sollte. Die Daten, die ich sende ist, was ich beim Produzenten eintippe, also grundsätzlich alle paar Sekunden eine Nachricht. Gibt es Konfigurationsmöglichkeiten, die ich ändern kann, damit der Kafka-Broker nur sehr wenige Nachrichten pro Sekunde erwartet und dadurch die Nachrichten wesentlich schneller transportiert werden?
Ich verwende die Standardkonfigurationen von Zookeeper und Kafka, also habe ich nicht viel konfiguriert.
Vielen Dank im Voraus!
Eigentlich sind beide Antworten richtig. Ivans Antwort ist, wie Sie die Verbraucherlatenz einstellen und diese Antwort ist, wie Sie die Producer-Latenz einstellen. Zufälligerweise gibt es auf der Produzentenseite mehr Spielraum für Verbesserungen. Wenn Sie beides tun, sollten Sie die besten Ergebnisse für die Ende-zu-Ende-Latenz erhalten. –
Ja, ich weiß (ich werde es zu meiner Antwort hinzufügen, danke!), Die Sache ist, dass es (mindestens in der Version 0.10.2.1) nicht notwendig ist, irgendeinen Ton im Verbraucher zu tun, um weniger als eine Sekunde Verzögerung zu haben was vom Produzenten herbeigeführt wird. – Franmoti
Auch Konsole-Hersteller standardmäßig auf acks = 1, die Latenz reduziert, aber auch zu Nachrichtenverlust führen kann, also nicht überrascht, wenn Sie Nachricht Verlust beim Töten von Brokern und Testen Failover bei Verwendung von Standardeinstellungen sehen. –