Daniel Chaves
Volver al blog

Node.js

Escalando Node.js y TypeScript hasta el 99.99% de disponibilidad

09 de diciembre de 20252 min de lectura

Node.js es una opción sólida para sistemas financieros de alta concurrencia, siempre que la arquitectura respete las particularidades de su modelo de ejecución.

El graceful shutdown no es opcional

Un despliegue que mata el proceso sin drenar las solicitudes en curso es una fuente silenciosa de inconsistencia — especialmente en flujos que escriben en el ledger. El proceso debe dejar de aceptar nuevas conexiones, esperar a que terminen las operaciones en curso, y solo entonces detenerse.

Circuit breakers en cada llamada externa

Toda dependencia externa — el SPI, proveedores de KYC, burós de crédito — necesita un circuit breaker con un fallback explícito. La pregunta arquitectónica correcta no es "¿y si esta llamada falla?", sino "¿qué hace el sistema cuando esta llamada falla?".

Colas para absorber picos

BullMQ (sobre Redis) es suficiente para la mayoría de los casos de procesamiento asíncrono en plataformas financieras: idempotencia por job ID, reintentos con backoff exponencial, y colas de mensajes fallidos (dead-letter) monitoreadas de forma continua.

Observabilidad desde la primera línea

El tracing distribuido, las métricas de latencia por percentil (p50/p95/p99) y los logs estructurados no son un "nice to have" añadido después del incidente — son lo que permite diagnosticar un problema en producción en minutos, no en horas.

La alta disponibilidad es el resultado de decenas de decisiones pequeñas y consistentes, no de una única elección de infraestructura.