Pular para o conteúdo

Timeouts: a configuração esquecida que derruba sistemas

Uma chamada a um serviço externo sem limite de tempo pode esperar para sempre — e levar o seu sistema junto. Por que timeouts são configuração obrigatória.

Por Equipe We Codex3 min de leitura

Por padrão, muitas bibliotecas HTTP esperam indefinidamente — ou por minutos — por uma resposta. Quando um serviço externo trava sem responder, cada requisição do seu sistema fica presa esperando, consumindo conexões e memória, até que nada mais funcione.

Defina sempre

ts
const res = await fetch(url, { signal: AbortSignal.timeout(5000) })

Cinco segundos é muito mais que o normal para a maioria das APIs, e muito menos que "para sempre".

Timeouts em camadas

  • Conexão: quanto tempo esperar para estabelecer a conexão.
  • Resposta: quanto tempo esperar pelos dados.
  • Total da operação: incluindo retentativas.
  • Banco de dados: consultas que passam do limite são canceladas.

Escolhendo os valores

Baseie-se no tempo normal de resposta do serviço (medido), com margem. Uma API que responde em 300ms pode ter timeout de 3 segundos; um relatório pesado, mais.

O que fazer quando o tempo estoura

  1. 1.Retentar só se a operação for segura de repetir (Idempotência: como evitar cobrança duplicada e pedidos repetidos, Gerenciando o erro 429 Too Many Requests: exponential backoff e retry no cliente).
  2. 2.Usar um plano B (Degradação graciosa: funcionar pela metade é melhor que sair do ar).
  3. 3.Abrir o circuito se as falhas se repetirem (Circuit breaker: quando um serviço externo cai, o seu não precisa cair junto).
  4. 4.Avisar o usuário de forma clara.

No front e no app

Também configure timeouts nas chamadas do navegador e do celular, com mensagens adequadas — em redes móveis, isso é ainda mais importante.

A We Codex constrói sistemas resilientes. Veja sistemas web ou fale com a gente.

  • Timeouts
  • Resiliência
  • Integrações
  • Backend
CompartilharWhatsAppLinkedIn

Resolver de vez, com quem faz isso todo dia

Quer saber quão exposto está o seu sistema hoje?

Este artigo mostra o caminho. A implementação sob medida — o detalhe que muda o resultado no seu caso — é o trabalho da We Codex, empresa de engenharia do grupo Wocom.