/ / Die Bedeutung von 'request.timeout.ms' des Kafka-Produzenten macht mich verwirrt - Apache-Kafka, Kafka-Produzent-Api

Die Bedeutung von 'request.timeout.ms' des Kafka-Produzenten macht mich verwirrt - Apache-Kafka, Kafka-Produzent-Api

Nun, ich finde das die Bedeutung von request.timeout.ms von Kafka 0.8.2 unterscheidet sich von Kafka 0.10.0.

https://kafka.apache.org/082/documentation.html

https://kafka.apache.org/documentation/

Kafka 0.8.2: request.timeout.ms Die Zeitspanne, die der Broker wartet, um die Anforderung request.required.acks zu erfüllen, bevor ein Fehler an den Client gesendet wird.

Kafka 0.11.0: request.timeout.ms Die Konfiguration steuert die maximale Anzahl vonZeit, die der Client auf die Antwort einer Anfrage wartet. Wenn die Antwort nicht vor Ablauf des Zeitlimits empfangen wird, sendet der Client die Anforderung ggf. erneut oder schlägt die Anforderung fehl, wenn die Wiederholungen erschöpft sind.

Antworten:

1 für die Antwort № 1

In Kafka 0.8.2 das request.timeout.ms ist mit dem Produzenten verwandt. Wie Sie wissen, entschied sich der Produzent dafür, die Bestätigung in drei verschiedenen Fällen zu erhalten: wenn er gesendet wird, wenn der Anführer eine Nachricht empfängt und schreibt, wenn der Anführer und alle Replikate eine Nachricht empfangen und schreiben. Die Zeitüberschreitung ist die Zeit, die ein Broker auf eine der obigen Bedingungen (zum Senden einer Bestätigung an den Produzenten) wartet, bevor er einen Fehler sendet: die Bestätigung kann nicht gesendet werden und die Zeit läuft ab. In Kafka 0.11 ist diese Zeitüberschreitung allgemeiner und wird sogar für consumer- und admin-client: es ist das Timeout für eine generische Anfrage und nicht strikt auf das Schreiben von Nachrichten bezogen.