Backend, APIs e dados · Avançado

Carga: limites de taxa e autoproteção

Em uma linha: Um sistema saudável recusa cedo e com clareza, em vez de desabar lentamente sob uma carga que não consegue suportar.

Limite de taxa

Por consumidor, por rota e por recurso. Retorne um código de status adequado e um cabeçalho dizendo quando tentar novamente. Um limite não documentado gera integrações que quebram sem explicação.

Separe a proteção contra abuso do gerenciamento de capacidade. O primeiro é preciso, o segundo é flexível.

Proteger o núcleo

Uma fila com comprimento máximo, descarte de carga antecipado e isolamento de recursos para que uma rota lenta não esgote todas as conexões. Se uma rota de relatório pesado pode sufocar a rota de login, você tem um problema de arquitetura, não de capacidade.

Testar antes, não depois

Execute um teste de carga em um ambiente similar à produção e encontre o ponto onde o tempo de resposta explode. Esse ponto é sua capacidade, e vale a pena conhecê-lo antes de uma campanha de marketing descobrir por você.

Indo mais fundo

Defina comportamento graduado: primeiro desligar capacidades secundárias, depois servir só do cache, e só por último recusar. Um sistema que sabe encolher sobrevive a uma carga que derruba um que só sabe funcionar ou falhar.