--- id: "ADR-011" title: "Rate Limiting Strategy" type: "ADR" status: "Accepted" priority: "P0" supersedes: "N/A" superseded_by: "N/A" version: "1.0.0" created_date: "2026-01-10" updated_date: "2026-01-10" --- # ADR-011: Rate Limiting Strategy ## Metadata | Campo | Valor | |-------|-------| | ID | ADR-011 | | Estado | Accepted | | Fecha | 2026-01-10 | | Supersede | N/A | ## Contexto Se necesita rate limiting para proteger la API de abuso y garantizar fair use entre tenants. ## Decision **Implementar Token Bucket con Redis**, con limites diferenciados por tenant/plan. ## Implementacion ```typescript // Limites por plan const rateLimits = { free: { requests: 100, window: '1h' }, basic: { requests: 1000, window: '1h' }, pro: { requests: 10000, window: '1h' }, enterprise: { requests: -1 } // Ilimitado }; ``` ### Algoritmo Token Bucket - Permite burst legitimo (hasta 10% del limite) - Recarga continua de tokens - Distribuido via Redis ## Consecuencias ### Positivas - Burst legitimo permitido - Limites justos por plan - Distribuido via Redis ### Negativas - Dependencia de Redis - Configuracion por endpoint --- **Fecha decision:** 2026-01-10 **Autores:** Claude Code (Arquitectura)