Cómo construí un limitador de tasa distribuido con Redis, Lua y Docker

Construye un limitador de tasa distribuido con Redis, Lua y Docker. Incluye ventana deslizante, token bucket y reglas dinámicas.

23 jun 2026 • 4 min de lectura • Equipo Q2BSTUDIO

Optimizando la limitación de tasas con Lua en Redis

Cuando se diseña un sistema distribuido que debe manejar cientos de miles de peticiones por segundo, el control de acceso basado en límites de tasa —rate limiting— deja de ser un simple contador en memoria para convertirse en un desafío de consistencia, atomicidad y escalabilidad. Construir un limitador de tasa distribuido que funcione correctamente a través de múltiples instancias de backend exige repensar cómo se comparte el estado, qué estrategias algorítmicas se aplican y cómo se evitan condiciones de carrera. Este artículo analiza en profundidad la arquitectura, los algoritmos y las decisiones técnicas que permiten implementar un sistema de rate limiting robusto, apoyándose en herramientas como Redis, Lua scripting y MongoDB, todo ello ejecutado sobre contenedores Docker. El enfoque aquí no es reproducir implementaciones existentes, sino extraer lecciones transferibles a cualquier proyecto de software a medida.

El problema fundamental surge cuando dos o más servidores tras un balanceador de carga intentan aplicar el mismo límite. Si cada instancia mantiene su propio contador en memoria, un cliente puede enviar 5 peticiones a cada servidor y sobrepasar el límite global de 5 sin ser bloqueado. La solución pasa por un punto de coordinación centralizado, generalmente Redis, que almacena el estado de forma compartida y permite operaciones atómicas. Ahí entra en juego el valor de los servicios cloud aws y azure, donde gestionar infraestructuras elásticas y bases de datos en memoria se vuelve natural. En Q2BSTUDIO, desarrollamos aplicaciones a medida que integran estas capacidades para garantizar que los límites se apliquen independientemente de la topología del despliegue.

Entre los algoritmos de rate limiting, el de ventana deslizante ofrece mayor precisión que la ventana fija, pero su implementación ingenua requiere múltiples idas y vueltas a Redis (eliminar entradas expiradas, insertar timestamp, contar, fijar TTL). Cada operación separada introduce latencia y riesgo de inconsistencia bajo concurrencia. La solución técnica más elegante consiste en empaquetar toda la lógica de la ventana deslizante en un script Lua que se ejecuta en el propio servidor Redis. De esta forma, la operación se vuelve atómica: no hay ventana entre la eliminación de entradas antiguas y el conteo actual. Además se reduce drásticamente el número de viajes de red, mejorando el rendimiento. Este tipo de optimización es exactamente donde la inteligencia artificial y los agentes IA pueden ayudar a predecir patrones de tráfico y ajustar dinámicamente los límites, pero la base sigue siendo un sistema de control de acceso bien diseñado.

La gestión dinámica de reglas es otro pilar. Almacenar las configuraciones de límites (por usuario, por IP, por endpoint) en MongoDB permite cambiarlas sin redeploy, y establecer prioridades entre reglas evita conflictos. Si una regla específica no coincide, un límite de seguridad por defecto —fallback— impide que el sistema quede desprotegido. Este enfoque modular y configurable es característico del software a medida que ofrecemos en Q2BSTUDIO, donde cada cliente puede definir sus propias políticas de acceso sin tocar una línea de código. Además, el seguimiento de violaciones por usuario o IP, almacenado en Redis, alimenta paneles de administración que permiten monitorizar el comportamiento en tiempo real y tomar decisiones basadas en datos, lo que enlaza directamente con servicios inteligencia de negocio y herramientas como power bi para visualizar tendencias de abuso o cuellos de botella.

El uso de Docker Compose para levantar múltiples instancias de backend, Redis y MongoDB facilita validar localmente el comportamiento distribuido. Una prueba reveladora consiste en aplicar un límite global de 5 peticiones, enviar peticiones alternadas a dos servidores y comprobar que la sexta es bloqueada, demostrando que la consistencia se mantiene. Esta práctica de desarrollo, junto con la integración continua, es parte de la metodología que aplicamos en Q2BSTUDIO para garantizar que las soluciones de ciberseguridad y control de acceso funcionen en entornos reales.

Construir un limitador de tasa distribuido va mucho más allá del simple bloqueo de peticiones. Implica entender cuándo mover la lógica cerca del almacén de datos, cómo priorizar reglas y cómo diseñar sistemas configurables en lugar de rígidos. Estas lecciones son directamente aplicables a cualquier plataforma que requiera escalar de forma controlada, ya sea una API pública, un sistema SaaS o una infraestructura corporativa. En Q2BSTUDIO, ayudamos a las empresas a diseñar e implementar este tipo de sistemas utilizando las mejores prácticas en aplicaciones a medida, combinando inteligencia artificial, ciberseguridad y servicios cloud aws y azure para ofrecer soluciones robustas y escalables.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat