Sobes.tech
Junior — Middle

Hogyan történik az üzenetfeldolgozás megerősítési folyamata a Kafka-ban?

sobes.tech MI

Válasz az MI-től

Az Apache Kafka-ban az üzenetek feldolgozásának (acknowledgment) mechanizmusa az offset commit révén valósul meg.

Folyamat:

  1. A fogyasztó megkap egy üzenetet a témából.
  2. Sikeres feldolgozás után a fogyasztó rögzíti (commitálja) az üzenet offsetjét.
  3. A Kafka tárolja az utolsó megerősített offset információt minden fogyasztói csoport számára.

Go-ban, Kafka kliens (pl. sarama vagy confluent-kafka-go) használatával, a megerősítés lehet automatikus vagy kézi:

  • Automatikus commit — a kliens időszakosan küldi az utolsó feldolgozott offset információt.
  • Kézi commit — a fejlesztő explicit módon hívja meg a commit metódust az üzenet feldolgozása után, ez nagyobb kontrollt és megbízhatóságot biztosít.

Példa sarama-val (kézi commit):

consumer, _ := sarama.NewConsumerGroup(brokers, groupID, config)
// Üzenetkezelőben, feldolgozás után:
session.MarkMessage(message, "") // jelöli az üzenetet feldolgozottként
// A feldolgozás befejezése után hívja meg a Commit()-ot