Request Coalescing | Como Eliminar o Thundering Herd no Checkout

Entenda como o Request Coalescing reduz cache stampede e protege o backend durante picos de tráfego e flash sales

Quando milhares de usuários acessam o mesmo recurso ao mesmo tempo, o risco não é apenas aumento de tráfego. O problema mais perigoso é a sincronização da carga.

Se um dado popular expira no cache durante uma flash sale, todos os requests podem tentar regenerá-lo ao mesmo tempo. Esse comportamento cria o efeito conhecido como Thundering Herd, também chamado de cache stampede ou dogpile effect. O resultado é previsível: saturação do backend, aumento de latência, timeouts e degradação do checkout.

Em checkout performance, cada milissegundo de latência e cada requisição redundante representa risco de conversão. O Request Coalescing resolve exatamente esse cenário. Em vez de permitir que dezenas, centenas ou milhares de requisições idênticas atinjam o origin simultaneamente, a técnica agrupa essas chamadas e reaproveita uma única resposta para todos os usuários aguardando.


O que é o problema do Thundering Herd?

O Thundering Herd acontece quando um recurso muito acessado expira no cache exatamente no momento em que o tráfego sobe.

Imagine um cálculo de frete, uma promoção ou um preço muito consultado. Quando esse dado sai do cache, a primeira requisição consulta o backend para regenerá-lo. O problema é que, enquanto essa resposta ainda está sendo processada, outras requisições chegam, encontram o cache vazio e fazem exatamente a mesma coisa.

Isso gera uma explosão de chamadas redundantes ao banco de dados ou ao origin. Em vez de uma consulta, você passa a ter centenas ou milhares. O backend fica sobrecarregado e o checkout passa a responder mais devagar, ou simplesmente falha.

Esse cenário é especialmente crítico em e-commerce porque normalmente acontece em momentos de maior intenção de compra: campanhas sazonais, lançamentos, ações promocionais e Black Friday.


Por que isso acontece em e-commerce?

Em fluxos transacionais, vários dados são consultados simultaneamente por muitos usuários:

  • preço de produto
  • cálculo de frete
  • elegibilidade de promoção
  • disponibilidade de estoque
  • resumo de carrinho
  • validações auxiliares de checkout

Esses dados têm um padrão em comum: são muito lidos, mas nem sempre mudam a cada requisição.

Quando o cache expira sem coordenação entre requests, cada usuário tenta reconstruir o mesmo dado ao mesmo tempo. É exatamente aí que o Request Coalescing se torna importante.


Como o Request Coalescing funciona na prática

O Request Coalescing atua como um mecanismo de coordenação na infraestrutura distribuída.

Na prática, o fluxo é este:

  1. A primeira requisição chega e vira a requisição líder.
    Ela identifica que o dado não está em cache e segue para o origin.

  2. As requisições idênticas seguintes são agrupadas.
    Em vez de disparar novas chamadas ao backend, elas aguardam o retorno da requisição líder.

  3. Uma única resposta alimenta todas as requisições.
    Quando o origin responde, o resultado é reaproveitado para todos os usuários que estavam esperando, e o cache é repopulado.

Esse modelo reduz drasticamente a pressão sobre o backend e evita a multiplicação artificial da carga.


Benefícios para performance de checkout

O Request Coalescing traz ganhos diretos para a estabilidade do checkout.

1. Proteção do origin

O backend deixa de receber ondas de chamadas idênticas e passa a processar apenas o necessário. Isso reduz saturação de CPU, memória e conexões.

2. Redução de custo

Menos chamadas redundantes significam menor uso de recursos de infraestrutura, menor egress e menos desperdício operacional.

3. Estabilidade de P99

O maior benefício não aparece apenas na média da latência, mas na cauda da distribuição. Ao evitar bursts de chamadas simultâneas, o Request Coalescing reduz picos de latência e melhora a experiência dos usuários mais afetados.

4. Menos falhas em cascata

Quando o backend entra em colapso por carga redundante, o problema costuma se espalhar para outros serviços. Coalescing ajuda a impedir essa cascata.


Resiliência programável: além da configuração estática

O Request Coalescing fica ainda mais poderoso quando faz parte de uma estratégia de resiliência programável.

Isso significa que você pode:

  • aplicar coalescing apenas em endpoints de alta concorrência;
  • combinar a técnica com políticas de stale-while-revalidate;
  • ajustar regras dinamicamente durante campanhas;
  • proteger fluxos de checkout sem redesenhar a aplicação.

Por exemplo, faz sentido aplicar a técnica em rotas como:

  • cálculo de frete
  • consultas de preço
  • validação de promoções
  • respostas de catálogo muito acessadas

Já operações transacionais críticas, como autorização final de pagamento, seguem outro tratamento e não devem ser agrupadas da mesma maneira.


Request Coalescing e a arquitetura da Azion

A Azion permite aplicar esse tipo de proteção dentro de uma infraestrutura distribuída, mais próxima do usuário e com controle fino sobre o comportamento do tráfego. Isso torna possível absorver a demanda antes que ela sobrecarregue o backend.

Na prática, a arquitetura ajuda equipes de e-commerce a combinar:

  • aceleração
  • proteção
  • controle
  • observabilidade

Isso é especialmente útil quando o objetivo é manter a conversão estável durante picos de tráfego sem depender de escalonamento reativo no origin.


Exemplo real: Magalu

A Magalu é um exemplo de empresa que utiliza a Azion em cenários de alta escala e exigência de performance. Em ambientes como esse, proteger o origin e evitar gargalos em momentos críticos é fundamental para sustentar a experiência de compra.

Você pode conferir o case completo aqui:
https://www.azion.com/pt-br/casos-de-sucesso/magalu/

Esse tipo de aplicação reforça como estratégias de distribuição, proteção e controle de requests ajudam a manter a estabilidade de fluxos transacionais em escala.


Quando usar Request Coalescing

Use Request Coalescing quando:

  • muitos usuários acessam o mesmo recurso ao mesmo tempo;
  • o dado tem alta concorrência e baixa variação momentânea;
  • o cache expirado pode gerar múltiplas consultas idênticas;
  • você quer proteger o origin de picos coordenados;
  • o checkout depende de endpoints muito requisitados.

Quando não usar

Evite aplicar Request Coalescing indiscriminadamente quando:

  • a operação é altamente personalizada por usuário;
  • o dado precisa ser processado individualmente por request;
  • a resposta não pode ser reutilizada com segurança;
  • o endpoint representa uma ação transacional irrepetível.

A técnica é excelente para deduplicar leituras concorrentes, mas não substitui a lógica de negócio nem deve ser usada em fluxos de escrita sem critério.


FAQ

O que é cache stampede?

É o cenário em que muitos requests tentam regenerar o mesmo dado expirado no cache ao mesmo tempo, sobrecarregando o backend.

Request Coalescing substitui cache?

Não. Ele complementa o cache. A função do coalescing é evitar que múltiplas requisições idênticas atinjam o origin simultaneamente.

Qual a diferença entre Request Coalescing e cache?

Cache entrega conteúdo já armazenado. Request Coalescing coordena requisições concorrentes quando o cache ainda não está disponível ou acabou de expirar.

Quando devo usar Request Coalescing no checkout?

Principalmente em endpoints de leitura muito acessados, como frete, preço, promoção e catálogo.

Isso ajuda em flash sales?

Sim. Flash sales concentram tráfego em poucos recursos muito consultados, o que aumenta o risco de Thundering Herd.


Conclusão

O Request Coalescing é uma técnica simples em conceito, mas muito poderosa na prática. Ele evita que o backend seja atacado por requisições redundantes exatamente no pior momento: quando o tráfego está alto e a conversão está em jogo.

Em checkout performance, a lógica é clara: não basta responder rápido em média. É preciso impedir que picos de carga derrubem os fluxos mais importantes do negócio.

Se você quer proteger o checkout contra cache stampede e manter estabilidade em escala, o Request Coalescing deve fazer parte da sua estratégia de resiliência.


Próximos passos

Pare de perder vendas por causa de um checkout lento.
Veja como a Azion protege seus momentos de receita mais importantes:
https://www.azion.com/pt-br/contato/

Leia também:
Checkout Performance: Guia Definitivo de Otimização para E-commerce em Escala


fique atualizado

Inscreva-se na nossa Newsletter

Receba as últimas atualizações de produtos, destaques de eventos e insights da indústria de tecnologia diretamente no seu e-mail.