Sobes.tech
Junior — Middle

Comment se déroule le processus de confirmation du traitement des messages dans Kafka?

sobes.tech IA

Réponse de l'IA

Dans Apache Kafka, la confirmation du traitement des messages (reconnaissance) se fait via le mécanisme de validation de décalage (offset commit).

Processus:

  1. Le consommateur reçoit un message du topic.
  2. Après un traitement réussi du message, le consommateur enregistre (commit) le décalage (offset) de ce message.
  3. Kafka stocke l'information sur le dernier décalage confirmé pour chaque groupe de consommateurs.

En Go, en utilisant un client Kafka (par exemple, sarama ou confluent-kafka-go), la confirmation peut être automatique ou manuelle:

  • Commit automatique — le client envoie périodiquement l'information sur le dernier offset traité.
  • Commit manuel — le développeur appelle explicitement la méthode commit après le traitement du message, ce qui offre plus de contrôle et de fiabilité.

Exemple avec sarama (commit manuel):

consumer, _ := sarama.NewConsumerGroup(brokers, groupID, config)
// Dans le gestionnaire de messages, après traitement:
session.MarkMessage(message, "") // marque le message comme traité
// Après la fin du traitement, on appelle Commit()