Descrição do projeto
TraduzidoPara algoritmos, queremos tanto uma variante de balde de token para suavizar picos curtos quanto um contador de janela deslizante para contabilidade precisa dentro da janela, selecionável no nível da política. Os contadores devem ser armazenados no Redis para que múltiplos nós da API vejam a mesma imagem de consumo sem divergência, e a verificação em si adiciona apenas um ou dois milissegundos de latência. Além de limites simples, precisamos de níveis de cota completos com limites mensais ou diários, rastreamento de consumo por chave e uma maneira de retornar a cota restante ao chamador. Quando um limite é excedido, o serviço deve responder com status 429, retornar cabeçalhos de limite padrão incluindo limite, restante e redefinir, e adicionar uma dica Retry-After para que clientes bem-comportados se controlem.
A entrega inclui um pequeno painel de administração ou formato de configuração para descrever planos de taxa e vinculações de chave, um armazenamento de métricas para faturamento e análises, e documentação clara. Por favor, explique como você planeja operações atômicas no Redis, como evita condições de corrida sob alta concorrência e como você testará a carga do limitador antes de entrar em operação.
— Políticas por chave com algoritmos de balde de token e janela deslizante
— Níveis de cota com limites diários e mensais
— Contadores compartilhados no Redis com latência mínima adicionada
— Rastreamento de consumo e relatórios para faturamento
— Respostas corretas 429 com limite, restante, redefinir e cabeçalhos Retry-After
— Configuração de administração para planos de taxa e vinculações de chave, documentação e testes de carga