Rate Limit Service
@Service
Serviço de Rate Limiting distribuído usando Token Bucket.
Algoritmo: Token Bucket com "refillGreedy" (recarga contínua).
O "balde" enche continuamente com tokens
Permite "bursts" de requisições legítimas (ex: carregar dashboard)
Se o balde esvaziar, limita à taxa de recarga
Estado: Armazenado no Redis para funcionar em cluster.
Constructors
Link copied to clipboard
constructor(tenantRepository: TenantRepository, redisProxyManager: LettuceBasedProxyManager<String>, cacheManager: CacheManager, rateLimitProperties: RateLimitProperties)
Functions
Link copied to clipboard
Remove o bucket de um tenant (útil para testes ou reset manual).
Link copied to clipboard
Resolve o bucket de rate limit para um tenant autenticado. A capacidade varia conforme o plano do tenant (FREE/PRO/ENTERPRISE).
Link copied to clipboard
Resolve o bucket de rate limit para usuários anônimos (por IP). Usado para proteção de endpoints públicos (login, onboarding).