Junior — Middle
Kuidas toimub sõnumite töötlemise kinnitamise protsess Kafka's?
sobes.tech AI
Vastus AI-lt
Apache Kafka-s toimub sõnumite töötlemise kinnitus (acknowledgment) offset commit-mehhanismi kaudu.
Protsess:
- Tarbija saab sõnumi teemast.
- Pärast sõnumi edukat töötlemist salvestab (commit) tarbija selle sõnumi offseti.
- Kafka salvestab teavet viimase kinnitatud offseti kohta iga tarbijarühma jaoks.
Go keeles, kasutades Kafka klienti (näiteks sarama või confluent-kafka-go), võib kinnitus olla automaatne või käsitsi:
- Automaatne commit — klient saadab perioodiliselt teavet viimase töödeldud offseti kohta.
- Käsitsi commit — arendaja kutsub selgelt välja commit meetodi pärast sõnumi töötlemist, mis tagab suurema kontrolli ja usaldusväärsuse.
Näide sarama-ga (käsitsi commit):
consumer, _ := sarama.NewConsumerGroup(brokers, groupID, config)
// Sõnumite töötlemise funktsioonis, pärast töötlemist:
session.MarkMessage(message, "") // märgib sõnumi kui töödeldud
// Pärast töötlemise lõpetamist kutsutakse välja Commit()