Saltar al contenido principal

2 publicaciones etiquetados con "APIs"

Interfaces de programación y microservicios

Ver Todas las Etiquetas

Rate Limiting en APIs Node.js con Redis y Sliding Window

· 13 min de lectura
Ing. Alejandro Fernández
Director de Tecnología @ MeepLab

Poner express-rate-limit en tu API no es rate limiting. Es teatro de seguridad. Si tu backend corre en dos o más instancias detrás de un load balancer, cada réplica cuenta requests por separado y tu "límite de 100 req/min" se convierte en 200, 400 o 1,000 según cuántos pods escales. El atacante no nota la diferencia. Tu base de datos sí.

El rate limiting serio vive fuera del proceso: en un almacén compartido que todas las réplicas consultan de forma atómica. Ese almacén, en la práctica, es Redis. Y el algoritmo correcto casi nunca es el contador fijo que viene por defecto en las librerías populares: es el sliding window log, que cuesta más en memoria pero no deja ventanas de abuse entre segundos.

En este artículo aprenderás:

  • Por qué express-rate-limit con memoria local falla en arquitecturas con más de una instancia
  • Los tres algoritmos clásicos (fixed window, sliding window log, token bucket) explicados con sus trade-offs reales
  • Implementación paso a paso de sliding window log con ioredis y TypeScript, con operaciones atómicas
  • Cómo medir si funciona usando autocannon para simular ráfagas y ver cuándo se rompe
  • Checklist de producción con los errores que hemos visto en auditorías reales a APIs Node.js

Cómo Construir una API REST con Node.js y TypeScript

· 11 min de lectura
MeepLab Team
Equipo de Desarrollo de Software Evolutivo

Según la encuesta de Stack Overflow 2024, Node.js es la tecnología de backend más usada por segundo año consecutivo, y TypeScript superó a JavaScript como lenguaje preferido para proyectos nuevos. Si tu equipo está construyendo un backend en 2026, esta es la combinación que probablemente van a usar.

Pero hay una diferencia enorme entre una API que "funciona" y una API que tu equipo puede mantener, escalar y debugear a las 3 de la mañana cuando algo falla en producción.

En este artículo aprenderás:

  • La estructura de carpetas que escala de 5 a 50 endpoints sin volverse caótica
  • Cómo configurar TypeScript para máxima productividad sin frustración
  • Patrones de validación, errores y middleware que todo equipo necesita
  • Testing desde el inicio: cómo escribir tests que realmente protegen tu código
  • Buenas prácticas que separan un proyecto hobby de uno profesional
  • Cuándo esta arquitectura es suficiente y cuándo necesitas algo más robusto