Sobes.tech
Junior — Middle

Ako sa v Kafka vykonáva proces potvrdenia spracovania správ?

sobes.tech AI

Odpoveď od AI

V Apache Kafka potvrdenie spracovania správ (acknowledgment) sa vykonáva prostredníctvom mechanizmu offset commit.

Proces:

  1. Konzumer dostane správu z témy.
  2. Po úspešnom spracovaní správy konzumer zaznamená (commit) offset tejto správy.
  3. Kafka uloží informácie o poslednom potvrdenom offsete pre každú skupinu konzumentov.

V Go, s použitím klienta Kafka (napríklad sarama alebo confluent-kafka-go), môže byť potvrdenie automatické alebo manuálne:

  • Automatický commit — klient periodicky odosiela informácie o poslednom spracovanom offsete.
  • Manuálny commit — vývojár explicitne volá metódu commit po spracovaní správy, čo poskytuje väčšiu kontrolu a spoľahlivosť.

Príklad s sarama (manuálny commit):

consumer, _ := sarama.NewConsumerGroup(brokers, groupID, config)
// V handleri správ, po spracovaní:
session.MarkMessage(message, "") // označuje správu ako spracovanú
// Po dokončení spracovania sa volá Commit()