Sobes.tech
Junior — Middle

Unde în interiorul Kafka este stocată valoarea Offset pentru mesajele consumate?

sobes.tech AI

Răspuns de la AI

În Apache Kafka, valoarea Offset pentru mesajele consumate este stocată într-un topic intern special numit __consumer_offsets. Acest topic păstrează informații despre poziția actuală a fiecărui consumator (grup de consumatori) în fiecare partiție a topicului.

Astfel, Kafka nu salvează offset-ul local pe client, ci în mod centralizat în cluster, ceea ce permite consumatorilor să se recupereze și să continue citirea de la poziția necesară.

De asemenea, clienții pot salva offset-ul manual (commit) sau automat, în funcție de setările consumatorului.

Exemplu în Go folosind biblioteca confluent-kafka-go pentru a face commit offset-urilor:

consumer.CommitMessage(message)

unde message este mesajul citit, al cărui offset va fi salvat.