Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Gerenciar tráfego de ponta a ponta com faixas de tráfego em modo flexível

Última atualização: Jun 28, 2026

As faixas de tráfego em modo flexível funcionam em conjunto com recursos de roteamento personalizado, como serviços virtuais e regras de destino, para oferecer entrada de tráfego unificada de ponta a ponta, roteamento refinado e processamento de tráfego baseado em plugins.

Introdução à funcionalidade

As faixas de tráfego em modo flexível permitem isolar versões de aplicações. O sistema direciona o tráfego para diferentes faixas com base em cabeçalhos de requisição de passagem e de orientação de tráfego. Quando os serviços dentro de uma faixa se comunicam e o serviço de destino não existe na faixa atual, o sistema encaminha o tráfego para a faixa de linha de base. Isso garante a integridade do link e simplifica o gerenciamento de tráfego.

Antes de usar faixas de tráfego em modo flexível, compreenda os conceitos a seguir.

Métodos para passar o contexto da cadeia de chamadas

Passar o contexto da cadeia de chamadas é um pré-requisito para as faixas de tráfego em modo flexível. Em uma única cadeia de chamadas, todas as requisições devem compartilhar o mesmo cabeçalho.

As faixas de tráfego em modo flexível suportam métodos comuns para passar o contexto da cadeia de chamadas. Escolha o cenário correspondente à sua aplicação.

Cenário 1: Passar um trace ID

Um trace ID é um cabeçalho de requisição com as seguintes características:

  • O cabeçalho de requisição é transmitido por toda a cadeia de chamadas.

  • O cabeçalho de requisição é exclusivo para cada cadeia de chamadas.

Um trace ID identifica exclusivamente uma cadeia de chamadas completa. Seu valor geralmente é uma string aleatória. Se sua aplicação estiver integrada a um sistema de rastreamento, ela provavelmente transmite um trace ID. Padrões comuns de rastreamento usam cabeçalhos de requisição exclusivos para trace IDs, como x-b3-trace-id e x-datadog-trace-id.

Cenário 2: Passar um cabeçalho de requisição personalizado

O código da sua aplicação já pode transmitir cabeçalhos de requisição com significado de negócio, como version ou env. Esses cabeçalhos frequentemente identificam a versão e o ambiente da cadeia de chamadas. Neste cenário, use o cabeçalho de requisição personalizado transmitido como cabeçalho de orientação de tráfego.

Cenário 3: Passar um cabeçalho de requisição baggage

Baggage é um mecanismo padrão do OpenTelemetry que transmite informações de contexto entre processos em cadeias de chamadas distribuídas ao adicionar um campo Baggage ao cabeçalho HTTP. O valor do campo consiste em um conjunto de pares chave-valor que transportam dados de contexto, como IDs de locatário, trace IDs e credenciais de segurança. Isso permite rastreamento e correlação de logs sem alterações no código. Por exemplo:

baggage: userId=alice,serverNode=DF%2028,isProduction=false

Baggage é o método recomendado para configurar faixas de tráfego em modo flexível, pois é o mecanismo padrão do OpenTelemetry para passar o contexto da cadeia de chamadas.

Nota

Para os Cenários 1 e 3: Se sua aplicação não estiver integrada a um sistema de rastreamento ou não transmitir baggage no código, use a instrumentação automática. Utilize o OpenTelemetry Operator para injetar capacidades de instrumentação automática na aplicação. Isso permite a transmissão de cabeçalhos de requisição de trace ID sem alterar o código da aplicação. Para configurar a instrumentação automática, siga as etapas no documento da comunidade. Instale o OpenTelemetry Operator, configure a instrumentação automática e adicione anotações aos Pods da aplicação. A instrumentação automática do OpenTelemetry suporta muitos padrões comuns para transmitir contexto de cadeia de chamadas distribuídas, como W3C Baggage e B3. O documento da comunidade fornece exemplos para transmitir W3C TraceContext e W3C Baggage. Para mais informações, consulte Automatic Instrumentation.

Cabeçalho de requisição de orientação de tráfego

As faixas de tráfego em modo flexível usam um cabeçalho de requisição de orientação de tráfego para marcar a cadeia de requisições. Especifique qualquer cabeçalho de requisição que não entre em conflito com os cabeçalhos de negócios existentes na aplicação. Com base no método escolhido para passar o contexto da cadeia de chamadas, as faixas garantem a inclusão do cabeçalho de orientação de tráfego em cada etapa da cadeia. O valor do cabeçalho corresponde ao nome da faixa de tráfego. Por exemplo, se você definir x-asm-prefer-tag como cabeçalho de orientação de tráfego e enviar uma requisição para um serviço em uma faixa chamada s1, as requisições subsequentes na cadeia sempre carregarão o cabeçalho x-asm-prefer-tag: s1. As faixas de tráfego usam essa tag no cabeçalho para criar ambientes isolados para diferentes versões da aplicação.

Se optar por passar um cabeçalho de requisição personalizado, use esse mesmo cabeçalho como cabeçalho de orientação de tráfego.

Visão geral dos cenários

Os cenários a seguir demonstram como rotear tráfego para faixas usando três métodos diferentes de transmissão de cabeçalhos de requisição e como configurar serviços virtuais personalizados para orientar o tráfego para faixas em modo flexível.

Referências