Junior — Middle
Kako se u Kafka-i sprovodi proces potvrde obrade poruka?
sobes.tech АИ
Одговор од АИ
U Apache Kafka potvrda obrade poruka (acknowledgment) vrši se putem mehanizma offset commit.
Proces:
- Potrošač prima poruku iz teme.
- Nakon uspešne obrade poruke, potrošač beleži (commit) pomak (offset) te poruke.
- Kafka čuva informacije o poslednjem potvrđenom pomaku za svaku grupu potrošača.
U Go, koristeći Kafka klijent (npr. sarama ili confluent-kafka-go), potvrda može biti automatska ili ručna:
- Automatski commit — klijent periodično šalje informacije o poslednjem obrađenom offsetu.
- Ručni commit — programer eksplicitno poziva metodu commit nakon obrade poruke, što pruža veću kontrolu i pouzdanost.
Primer sa sarama (ručni commit):
consumer, _ := sarama.NewConsumerGroup(brokers, groupID, config)
// U handleru poruka, nakon obrade:
session.MarkMessage(message, "") // označava poruku kao obrađenu
// Nakon završetka obrade, poziva se Commit()