← Trabajo
2024 · entregado

Pipeline de datos en tiempo real

Sincronización continua de entidades de negocio — usuarios, organizaciones, mensajería — desde un ERP hacia PostgreSQL vía Kafka. Construido para un cliente; compartido con autorización.

PythonApache KafkaPostgreSQLDocker
5+
entidades de negocio sincronizadas en continuo
1 consumer
por entidad: aislamiento de fallas por dominio
Docker
entornos dev/test reproducibles por compose

Problema

Los datos operativos del negocio vivían dentro del ERP: útiles para operar, invisibles para analizar. Cada pregunta nueva requería exportaciones manuales que nacían desactualizadas.

Decisiones

Streaming, no batch. En lugar de exportaciones nocturnas, un bus Kafka recibe los cambios del ERP y los replica en continuo hacia PostgreSQL. El almacén analítico deja de ser una foto de ayer.

Un consumer por entidad. Usuarios, organizaciones, contactos y mensajería viajan por consumers independientes: una entidad con problemas no detiene a las demás, y cada dominio se versiona y despliega por separado.

Idempotencia sobre elegancia. Los mensajes pueden llegar repetidos o fuera de orden; cada upsert está escrito para que reprocesar sea seguro. La robustez del pipeline vale más que su pureza.

Reproducible de punta a punta. Compose levanta el stack completo — broker, consumers, base de datos — en dev y test idénticos. Depurar un pipeline distribuido exige poder reconstruirlo en la laptop.

Resultado

Entregado y operando: el equipo consulta datos frescos en PostgreSQL sin tocar el ERP, y agregar una entidad nueva al pipeline es un consumer más, no un proyecto nuevo.