Seus usuarios veem isso:
HTTP/1.1 504 Gateway Timeout
{"message": "Endpoint request timed out"}Seu API gateway esperou seu backend responder. Esperou. E desistiu.
O que causa timeouts no API gateway
- Queries de banco de dados lentas: Indice faltando, lock de tabela, pool de conexoes esgotado
- Chamadas a APIs externas que travam: Stripe, Auth0 ou terceiro lento/fora do ar
- Cold starts (serverless): Inicializacao + consulta lenta = timeout
- Backend inalcancavel: DNS, firewall, servidor fora do ar
- Resposta grande demais: JSON massivo que demora para serializar
- Loops infinitos ou deadlocks: Bug de codigo que nunca completa
Limites de timeout por plataforma
| Plataforma | Padrao | Maximo |
|---|---|---|
| AWS API Gateway (REST) | 29s | 29s (limite rigido) |
| Kong | 60s | Sem limite |
| Nginx | 60s | Sem limite |
| Vercel | 10s (Hobby) | 300s (Enterprise) |
Como resolver
- Identificar qual endpoint faz timeout — Habilitar access logs no gateway
- Verificar se o backend e alcancavel — Testar conectividade DNS/rede
- Perfilar o endpoint lento — Adicionar timing a cada operacao
- Resolver a causa raiz — Indices, caching, circuit breakers, pool de conexoes
- Para operacoes inerentemente lentas: Padrao assincrono (202 Accepted + polling)
Como monitorar timeouts antes dos usuarios reportarem
Nurbak Watch monitora cada API route de dentro do seu servidor Next.js e alerta quando a latencia sobe — antes de cruzar o limite de timeout do gateway.
// instrumentation.ts
import { initWatch } from '@nurbak/watch'
export function register() {
initWatch({
apiKey: process.env.NURBAK_WATCH_KEY,
})
}Gratis durante a beta. Sem agentes, sem overhead de cold start. 5 linhas de codigo.

