In quale punto all'interno di Kafka viene memorizzato il valore Offset per i messaggi consumati?
sobes.tech AI
Risposta dell'AI
In Apache Kafka, il valore dell'Offset per i messaggi consumati viene memorizzato in un topic interno speciale chiamato __consumer_offsets. Questo topic contiene informazioni sulla posizione attuale di ogni consumatore (gruppo di consumatori) in ogni partizione del topic.
In questo modo, Kafka non memorizza l'offset localmente sul client, ma centralmente nel cluster, consentendo ai consumatori di recuperarsi e continuare la lettura dalla posizione desiderata.
Inoltre, i clienti possono salvare manualmente (commit) o automaticamente l'offset, a seconda delle impostazioni del consumatore.
Esempio in Go usando la libreria confluent-kafka-go per fare il commit degli offset:
consumer.CommitMessage(message)
dove message è il messaggio letto, il cui offset sarà salvato.