Sobes.tech
Junior — Middle

¿En qué lugar dentro de Kafka se guarda el valor de Offset para los mensajes consumidos?

sobes.tech AI

Respuesta de la IA

En Apache Kafka, el valor del Offset para los mensajes consumidos se guarda en un tema interno especial llamado __consumer_offsets. Este tema almacena información sobre la posición actual de cada consumidor (grupo de consumidores) en cada partición del tema.

De esta manera, Kafka no guarda el offset localmente en el cliente, sino de forma centralizada en el clúster, lo que permite a los consumidores recuperarse y continuar leyendo desde la posición necesaria.

Además, los clientes pueden guardar el offset manualmente (commit) o automáticamente, dependiendo de la configuración del consumidor.

Ejemplo en Go usando la biblioteca confluent-kafka-go para hacer commit de los offsets:

consumer.CommitMessage(message)

donde message es el mensaje leído, cuyo offset será guardado.