← Balanceamento de carga: tráfego e resiliência
04 / 12 · 40 MIN

Retries, limites e origem do cliente

Controla repetição, duração, concorrência e confiança nos metadados recebidos.

Conceito e mecanismo

Repetir num segundo backend pode recuperar uma falha transitória, mas também duplicar uma operação já aplicada. Para um POST enviado antes de um timeout, confirma o contrato e o resultado incerto. Em NGINX, permitir non_idempotent autoriza comportamentos que não criam deduplicação na aplicação. Define limites de tentativas e tempo coerentes com o cliente. Se este desiste aos 50 segundos e o proxy continua até 60, podes manter trabalho sem um consumidor à espera e com resultado desconhecido. Cancelamento e efeitos da operação precisam de análise própria. O maior timeout numa camada não substitui os limites das restantes.

Aplicação guiada

Distingue também os âmbitos de limites. keepalive 32 no upstream NGINX refere-se à cache de ligações idle por worker, não ao total de ligações que pode abrir. Sem shared memory zone, max_conns atua por worker: quatro limites de dez podem permitir até quarenta ligações ativas no exemplo. Ligações idle acrescentam outras nuances. Para origem do cliente, X-Forwarded-For não é confiável só por parecer um IP. Define proxies autorizados e regras de interpretação, controlando caminhos diretos que contornem essa fronteira. Num caso fictício, o mesmo campo é aceite via proxy e diretamente; corrigir apenas o parser não resolve quem pode fornecer a afirmação.

NA PRÁTICA

Quatro workers com limite local dez não equivalem a um contador global de dez.

Armadilhas comuns

Novo backend como deduplicação; timeout maior como prazo global; cache idle como limite total; cabeçalho como identidade autenticada.

Tópicos relacionados: Encaminhamento e fronteiras TLS · Algoritmos, afinidade e estado · Health checks e prontidão

Leva esta ideia contigo

Confirma o âmbito e a consequência de cada limite e de cada afirmação de origem.

Criar conta

Referência: NGINX retries, timeouts and upstream forwarding · DR load balancing 2026-09; selected NGINX, HAProxy 3.2, Kubernetes and AWS ALB behavior