2017-09-15 1 views
1

Eh bien, je trouve que la signification de request.timeout.ms de Kafka 0.8.2 diffère de Kafka 0.10.0.La signification de 'request.timeout.ms' de producteur Kafka me rend confus

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

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

Kafka 0.8.2: request.timeout.ms La quantité de temps le courtier attendra d'essayer de répondre à l'exigence de request.required.acks avant de renvoyer une erreur au client.

Kafka 0.11.0: request.timeout.ms La configuration contrôle la durée maximale pendant laquelle le client attend la réponse d'une requête. Si la réponse n'est pas reçue avant la fin de la temporisation, le client renverra la requête si nécessaire ou échouera la requête si les tentatives sont épuisées.

Répondre

1

Dans Kafka 0.8.2, request.timeout.ms est lié au producteur. Comme vous le savez, le producteur a choisi de recevoir l'accusé de réception dans trois cas différents: lorsqu'il vient d'être envoyé, lorsque le chef reçoit et écrit un message, lorsque le chef et toutes les répliques reçoivent et écrivent un message. Le délai d'expiration est le délai pendant lequel un courtier attend l'une des conditions ci-dessus (pour envoyer un accusé de réception au producteur) avant d'envoyer une erreur: l'accusé de réception ne peut pas être envoyé à temps et expire. Dans Kafka 0.11, ce délai d'attente est plus général et est utilisé même pour le client consommateur et administrateur: il s'agit du délai d'expiration d'une requête générique et non strictement lié à l'écriture d'un message.