Sobes.tech
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:

  1. Potrošač prima poruku iz teme.
  2. Nakon uspešne obrade poruke, potrošač beleži (commit) pomak (offset) te poruke.
  3. 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()