Urgent.News

What's breaking now, across thousands of outlets.

Tech

Tú decides cuándo hecho es hecho: Commit manual de offsets en Kafka.

Tú decides cuándo hecho es hecho: Commit manual de offsets en Kafka. Día 06 de la serie técnica WKafka Open Source. Si tu consumidor se apaga justo después de leer un mensaje con auto_commit=True, ese mensaje se perdió para siempre. El commit manual te devuelve el control. Los Problemas Reales El auto-commit marcando mensajes como 'procesados' antes de guardar en base de datos Pérdida silenciosa…

Original Spanish Read in English

El consumidor decide cuándo se realiza el commit: Una guía sobre los offsets en Kafka. En la serie técnica número 06 de WKafka Open Source, una implementación de offsets en Python permite controlar el proceso. Si el consumidor se apaga después de leer un mensaje con auto_commit=True, ese mensaje se pierde de forma definitiva. El commit manual devuelve el control al desarrollador.

Los problemas reales derivados del auto-commit: Datos perdidos silenciosamente si el contenedor cae a mitad del procesamiento; Desfase contable causado por commits prematuros de offsets. La implementación descrita en la guía utiliza from wkafka import WKafka; kafka = WKafka ( auto_commit = False ). Tras la configuración, se puede consumir el mensaje de la cola con la función @kafka.consumer ( topic = financial_ops , format = json ) def on_financial ( msg ): save_to_database ( msg . value ) # 1.

La escritura en la base de datos se confirma msg . commit () # 2. Solo cuando esto se ha realizado, se confirma el offset. Este enfoque evita pérdidas de datos y garantiza una operación limpia. La arquitectura ganó una nota cero en la categoría de pérdida de datos al evitar avances prematuros del offset. Una vez confirmada la escritura en la base de datos, msg.commit() confirma únicamente el offset.

La herramienta rebota automáticamente los mensajes no confirmados tras una recuperación. Ha sido probada en clusters reales de Apache Kafka y es compatible con Python 3.9 a 3.14, incluyendo tipado estricto con mypy. Para más información, visitar GitHub (https://github.com/wisrovi/wkafka) o PyPI (https://pypi.org/project/wkafka).

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Also reported by 1 other outlet

Read the original at dev.to →

More in Tech

More from Sunday 27 September →