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:
- A fogyasztó megkap egy üzenetet a témából.
- Sikeres feldolgozás után a fogyasztó rögzíti (commitálja) az üzenet offsetjét.
- 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