Skip to content
Latchkey

O que é shadow traffic?

O shadow traffic (ou traffic mirroring) envia uma cópia de requisições reais de produção para uma nova versão de um serviço enquanto descarta suas respostas, para que você possa testar sob carga real com zero impacto ao usuário.

O shadow traffic permite que você coloque uma nova versão à prova usando requisições genuínas de produção, sem que essas requisições dependam dela. A nova versão vê padrões de tráfego reais, mas os usuários nunca veem sua saída - dando a você um ensaio geral realista sem risco para a experiência ao vivo.

Como funciona o mirroring

Um proxy ou service mesh duplica as requisições recebidas: a original vai para o serviço ao vivo normalmente, e uma cópia é enviada para a versão shadow. A versão shadow processa a requisição mas sua resposta é descartada. Os usuários são atendidos inteiramente pela versão real e nunca são afetados pela shadow.

O que ele testa

O shadow traffic valida como uma nova versão lida com formatos, volumes e casos extremos de requisições do mundo real que os testes sintéticos não capturam. Você pode comparar suas saídas, latência e uso de recursos com a versão atual sob carga autêntica, revelando problemas antes que qualquer usuário seja exposto.

Atenção aos efeitos colaterais

O maior perigo são os efeitos colaterais. Se a versão shadow escreve em um banco de dados, envia e-mails ou chama uma API de pagamento, ela pode causar consequências no mundo real a partir de tráfego que deveria ser invisível. O shadowing exige um isolamento cuidadoso das escritas e das chamadas externas para permanecer verdadeiramente inofensivo.

Comparando respostas

Um uso poderoso é a comparação de respostas: execute o código antigo e o novo na mesma requisição real e faça o diff das saídas. As divergências revelam regressões comportamentais que você de outra forma só encontraria em produção. Isso torna o shadow traffic uma excelente maneira de validar refatorações arriscadas de caminhos críticos.

Onde ele se encaixa

O shadow traffic é uma forma de dark launching focada no backend. Ele é especialmente valioso para a validação de desempenho e correção de novas versões de serviço, complementando os canary releases - que expõem usuários reais - ao permitir que você teste exaustivamente antes de expor qualquer pessoa.

Principais conclusões

  • O shadow traffic espelha requisições reais para uma nova versão e descarta suas respostas.
  • Ele testa a carga do mundo real e a correção com zero impacto ao usuário.
  • Você precisa isolar os efeitos colaterais para que as requisições espelhadas não causem consequências reais.

Guias relacionados