Skip to main content
¡Te doy la bienvenida a la documentación del tercer microservicio del proyecto. El Pipeline ETL de Ingesta Masvia Asíncrono de mi Portafolio! Este proyecto funciona como un microservicio asíncrono de alto rendimiento, diseñado para la extracción, transformación y carga masiva de bitácoras de telemetría logística. Resuelve el desafío arquitectónico de procesar decenas de miles de registros simultáneamente sin bloquear o entorpecer la interfaz de usuario, protegiendo al mismo tiempo la base de datos frente a ataques y archivos corruptos.

🚀 Características y Arquitectura Backend

Hilos Virtuales (Loom)

Delegación del trabajo I/O pesado a un TaskExecutorAdapter nativo de Java 21, liberando la conexión HTTP instantáneamente (202 Accepted).

Bulk Inserts JDBC

Sinergia entre Spring Batch (chunk(500)), Hibernate (allocationSize=500) y el driver de PostgreSQL para inserciones masivas.

Defensa Multicapa (WAF)

Aislamiento @Transactional y WAF simulado contra inyección SQL. Uso de AtomicBoolean para bloquear ataques de concurrencia (TOCTOU).

Resiliencia Fault-Tolerant

Políticas de omisión (SkipPolicy). Los registros corruptos o vacíos se aíslan y descartan silenciosamente sin abortar el lote completo.

Infraestructura Segura

Despliegue Multi-stage en Alpine Linux, operando bajo un usuario spring (no-root) y persistencia de datos mediante volúmenes.

🛠️ Stack Tecnológico

💻 Comandos de Desarrollo

La API expone sus servicios en el puerto 8081 y requiere PostgreSQL en el puerto 5435.

📡 Documentación de la API (Endpoints)

La API opera bajo la ruta base /api/v1/etl. Las respuestas fallidas retornan una estructura estándar {"error": "Motivo del fallo"}.

🏭 Motor de Ingesta y Consulta

📟 Consola Interactiva y Soporte