LabTechUDF / LabTechUDF/shared-resources
feature: Logar a API Key do requisitante e implementar mecanismo de backpressure
@pedruck is already working on this.
Since May 12, 2025.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Descrição:
Atualmente, nosso serviço interno (que disponibiliza uma REST API e um servidor GraphQL para acessar dados compartilhados) já conta com logs de requisições, mas não registra a API Key de quem está realizando essas chamadas. Além disso, devemos pensar em uma estratégia de backpressure para lidar com casos de alta demanda, evitando sobrecarregar o serviço.
Tarefas:
-
Incluir a API Key do requisitante nas mensagens de log de todas as requisições (REST e GraphQL).
- Garantir que, em caso de ausência da API Key, o log reflita essa informação (por exemplo, "API Key não informada").
- Assegurar que o log seja registrado em um nível apropriado (ex: INFO).
-
Definir e implementar um mecanismo de backpressure:
- Avaliar diferentes abordagens para limitar a taxa de requisições processadas, garantindo disponibilidade e performance.
- Configurar parâmetros ajustáveis (ex: limite de requisições simultâneas, fila de requests, timeouts).
- Documentar o funcionamento do mecanismo para futuros ajustes.
Critérios de Aceite:
- Ao consultar os logs, deve ser possível identificar claramente qual API Key realizou a requisição.
- Em cenários de alta carga, o serviço deve ser capaz de mitigar sobrecargas utilizando o mecanismo de backpressure, mantendo a estabilidade e evitando quedas ou lentidão extrema.
- O código deve estar bem documentado, facilitando manutenções e ajustes futuros.
- Adicionar testes (se aplicável) para garantir o correto funcionamento do log da API Key e do backpressure.
Benefícios:
- Maior controle e rastreabilidade sobre quem acessa os recursos (observabilidade).
- Manutenção da disponibilidade do serviço, mesmo sob alta demanda.
- Melhoria na diagnóstica de problemas de performance.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.