Sobes.tech
Junior — Middle

Hoe wordt het bevestigingsproces van berichtverwerking in Kafka uitgevoerd?

sobes.tech AI

Antwoord van AI

In Apache Kafka wordt de bevestiging van berichtverwerking (acknowledgment) uitgevoerd via het offset commit-mechanisme.

Proces:

  1. De consument ontvangt een bericht uit de topic.
  2. Na succesvolle verwerking van het bericht, registreert (commit) de consument de offset van dat bericht.
  3. Kafka slaat de informatie op over de laatste bevestigde offset voor elke consumentengroep.

In Go, met behulp van een Kafka-client (bijvoorbeeld sarama of confluent-kafka-go), kan de bevestiging automatisch of handmatig worden gedaan:

  • Automatische commit — de client stuurt periodiek informatie over de laatst verwerkte offset.
  • Handmatige commit — de ontwikkelaar roept expliciet de commit-methode aan na het verwerken van het bericht, wat meer controle en betrouwbaarheid biedt.

Voorbeeld met sarama (handmatige commit):

consumer, _ := sarama.NewConsumerGroup(brokers, groupID, config)
// In de berichtverwerker, na verwerking:
session.MarkMessage(message, "") // markeert het bericht als verwerkt
// Na voltooiing van de verwerking wordt Commit() aangeroepen