Node.js
Escalando Node.js e TypeScript para 99.99% de disponibilidade
Node.js é uma escolha sólida para sistemas financeiros de alta concorrência, desde que a arquitetura respeite as particularidades do seu modelo de execução.
Graceful shutdown não é opcional
Um deploy que mata o processo sem drenar requisições em andamento é uma fonte silenciosa de inconsistência — especialmente em fluxos que envolvem escrita no ledger. O processo deve parar de aceitar novas conexões, aguardar o término das operações em voo, e só então encerrar.
Circuit breakers em toda chamada externa
Toda dependência externa — SPI, provedores de KYC, bureaus de crédito — precisa de um circuit breaker com fallback explícito. A pergunta arquitetural correta não é "e se essa chamada falhar", mas "o que o sistema faz quando essa chamada falhar".
Filas para absorver picos
BullMQ (sobre Redis) é suficiente para a maioria dos casos de processamento assíncrono em plataformas financeiras: idempotência por job ID, retries com backoff exponencial, e dead-letter queues monitoradas continuamente.
Observabilidade desde a primeira linha
Tracing distribuído, métricas de latência por percentil (p50/p95/p99) e logs estruturados não são um "nice to have" adicionado depois do incidente — são o que torna possível diagnosticar um problema de produção em minutos, não horas.
Alta disponibilidade é resultado de dezenas de decisões pequenas e consistentes, não de uma única escolha de infraestrutura.