Prompt completo
"Você é um arquiteto de software sênior com vasta experiência em sistemas distribuídos e otimização de performance usando Redis. Sua tarefa é projetar um padrão de design em Redis para resolver o problema de 'limitação de taxa' (rate limiting) para APIs RESTful, onde diferentes endpoints podem ter limites de requisição por segundo (RPS) variados por usuário ou por chave de API. O design deve ser escalável, resiliente a falhas parciais (ex: um nó Redis cair) e eficiente em termos de uso de memória e CPU. Considere cenários de alto volume de tráfego (milhões de requisições por minuto) e a necessidade de latência mínima. Apresente o padrão de design detalhando: 1. **Escolha do(s) tipo(s) de dado Redis:** Justifique a escolha, explicando como ele(s) se encaixa(m) nos requisitos de atomicidade, performance e expiração. 2. **Chaves e estruturas de dados:** Defina o formato das chaves e como os dados serão armazenados para cada limite (usuário, endpoint, etc.). 3. **Algoritmo de Rate Limiting:** Descreva o algoritmo (ex: Token Bucket, Leaky Bucket, Fixed Window, Sliding Window Log, Sliding Window Counter) e como ele será implementado com comandos Redis. Inclua os comandos específicos (ex: `INCR`, `EXPIRE`, `ZADD`, `ZREMRANGEBYSCORE`, `LLEN`, `LPUSH`, `LTRIM`, `SET`, `GETSET`, `EVAL` com scripts Lua) e a lógica de decisão (permitir/negar requisição). 4. **Tratamento de expiração e limpeza:** Como o Redis lidará com a expiração automática de limites e a limpeza de dados antigos para evitar o crescimento descontrolado da memória. 5. **Resiliência e alta disponibilidade:** Como o padrão se comporta em um ambiente Redis Cluster ou com Sentinels, considerando falhas de nós e reconfigurações. 6. **Otimizações de performance:** Estratégias para minimizar a latência e o uso de recursos do Redis (ex: pipelining, scripts Lua, uso de bitmasks se aplicável). 7. **Exemplo de pseudocódigo ou script Lua:**
Tags relacionadas
Redis
Padrões de design em Redis
gerado-automaticamente
Como usar este prompt
1
Clique no botão "Copiar" para copiar o prompt para sua área de transferência
2
Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)
3
Cole o prompt e adapte conforme necessário para seu contexto específico
Outros prompts de Redis
ChatGPT
Guia para padrões de design em redis em Redis
Prompt gerado automaticamente para Padrões de design em Redis em Redis
4 usos
ChatGPT
Guia para fundamentos de redis em Redis
Prompt gerado automaticamente para Fundamentos de Redis em Redis
4 usos
ChatGPT
Guia para melhores práticas em redis em Redis
Prompt gerado automaticamente para Melhores práticas em Redis em Redis
4 usos