Junior — Middle
Jak probíhá proces potvrzení zpracování zpráv v Kafka?
sobes.tech AI
Odpověď od AI
V Apache Kafka potvrzení zpracování zpráv (acknowledgment) se provádí pomocí mechanismu offset commit.
Proces:
- Konzumer obdrží zprávu z tématu.
- Po úspěšném zpracování zprávy konzumer zaznamená (commit) offset této zprávy.
- Kafka ukládá informace o posledním potvrzeném offsetu pro každou skupinu konzumentů.
V Go, s použitím klienta Kafka (například sarama nebo confluent-kafka-go), může být potvrzení automatické nebo ruční:
- Automatický commit — klient periodicky odesílá informace o posledním zpracovaném offsetu.
- Ruční commit — vývojář explicitně volá metodu commit po zpracování zprávy, což poskytuje větší kontrolu a spolehlivost.
Příklad s sarama (ruční commit):
consumer, _ := sarama.NewConsumerGroup(brokers, groupID, config)
// V handleru zpráv, po zpracování:
session.MarkMessage(message, "") // označuje zprávu jako zpracovanou
// Po dokončení zpracování se volá Commit()