Arquitectura del API Gateway
Visión General
El API Gateway de IRIS actúa como el punto de entrada único de la plataforma IDP, proporcionando un proxy inteligente que maneja la comunicación entre el frontend y los microservicios backend. En el pipeline, las Fases 5-6 utilizan OCR como parte de la extracción especializada.
Componentes Principales
1. Proxy HTTP
- Propósito: Enrutar requests a los microservicios apropiados
- Tecnología: Node.js con Express
- Puerto: 8000 (por defecto)
2. Balanceador de Carga
- Algoritmo: Round-robin con health checks
- Failover: Automático en caso de servicio no disponible
- Timeout: 30 segundos por request
3. Cache Layer
- Motor: Redis (opcional)
- TTL: Configurable por endpoint
- Invalidación: Manual y automática
Flujo de Requests
Configuración de Servicios
const SERVICES = {
"image_processor": {
url: "http://localhost:8001",
timeout: 30000,
healthCheck: "/health"
},
"ml_embeddings": {
url: "http://localhost:8002",
timeout: 60000,
healthCheck: "/health"
},
"ml_classifier": {
url: "http://localhost:8003",
timeout: 45000,
healthCheck: "/health"
},
"ocr_extractor": {
url: "http://localhost:8004",
timeout: 90000,
healthCheck: "/health"
}
};
Patrones de Diseño
Circuit Breaker
- Umbral de fallas: 5 errores consecutivos
- Tiempo de espera: 60 segundos
- Half-open: 1 request de prueba
Request/Response Transformation
- Input validation: JSON Schema validation
- Output normalization: Formato estándar de respuesta
- Error handling: Códigos HTTP consistentes
Monitoring y Observabilidad
- Métricas: Prometheus compatible
- Logs: Structured logging con Winston
- Tracing: Request ID propagation