Comment fonctionne la validation automatique du consommateur kafka ?
Je lis celui-ci:
Validation automatique La façon la plus simple de valider des décalages est de permettre au consommateur de le faire pour vous. Si vous configurez enable.auto.commit=true, toutes les cinq secondes, le consommateur validera le plus grand décalage que votre client a reçu de poll(). L'intervalle de cinq secondes est la valeur par défaut et est contrôlé en définissant auto.commit.interval.ms. Comme tout le reste dans le consommateur, les validations automatiques sont pilotées par la boucle de sondage. Chaque fois que vous interrogez, le consommateur vérifie s'il est temps de valider, et si c'est le cas, il validera les décalages qu'il a renvoyés lors de la dernière interrogation.
Peut-être que mon anglais n'est pas bon mais je n'ai pas bien compris cette description.
Disons que j'utilise la validation automatique avec un intervalle par défaut - 5 secondes et que l'interrogation a lieu toutes les 7 secondes. Dans ce cas, un commit se produira toutes les 5 secondes ou toutes les 7 secondes ?
Pouvez-vous clarifier le comportement si le sondage se produit toutes les 3 secondes ? La validation aura-t-elle lieu toutes les 5 secondes ou toutes les 6 secondes ?
J'ai lu celui-ci:
Validations automatiques : vous pouvez définir auto.commit sur true et définir la propriété auto.commit.interval.ms avec une valeur en millisecondes. Une fois que vous avez activé cela, le consommateur Kafka validera le décalage du dernier message reçu en réponse à son appel poll(). L'appel poll() est émis en arrière-plan à l'ensemble auto.commit.interval.ms.
Et cela contredit la réponse.
Pouvez-vous expliquer ce genre de choses en détails.
disons que j'ai un diagramme comme celui-ci:
0 s - sondage
4 s - sondage
8 s - sondage
Quand la compensation sera-t-elle engagée et quand laquelle?
Solution du problème
La vérification de validation automatique est appelée à chaque sondage et vérifie que le temps écoulé est supérieur au temps configuré. Si tel est le cas, le décalage est validé.
Si l'intervalle de validation est de 5 secondes et que l'interrogation se produit en 7 secondes, la validation se produira après 7 secondes seulement.
Commentaires
Enregistrer un commentaire