LabTechUDF / LabTechUDF/shared-resources

feature: Logar a API Key do requisitante e implementar mecanismo de backpressure

Open
#8 0 comments 0 reactions 1 assignee View on GitHub

@pedruck is already working on this.

Since May 12, 2025.

enhancement
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:

  1. 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).
  2. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.