Sobes.tech
Junior — Middle

Onde dentro do Kafka é que o valor Offset para as mensagens consumidas é armazenado?

sobes.tech IA

Resposta da IA

No Apache Kafka, o valor do Offset para as mensagens consumidas é armazenado num tópico interno especial chamado __consumer_offsets. Este tópico guarda informações sobre a posição atual de cada consumidor (grupo de consumidores) em cada partição do tópico.

Assim, o Kafka não armazena o offset localmente no cliente, mas de forma centralizada no cluster, o que permite aos consumidores recuperarem-se e continuarem a leitura a partir da posição necessária.

Além disso, os clientes podem guardar o offset manualmente (commit) ou automaticamente, dependendo das configurações do consumidor.

Exemplo em Go usando a biblioteca confluent-kafka-go para fazer commit de offsets:

consumer.CommitMessage(message)

onde message é a mensagem lida, cujo offset será guardado.