Todos os produtos
Search
Central de documentação

Microservices Engine:Configurar roteamento baseado em tags

Última atualização: Aug 27, 2026

O roteamento baseado em tags aplica tags ao tráfego e aos nós para direcionar o tráfego com características específicas aos nós com as tags correspondentes. Esse método fornece a base para estratégias avançadas de implantação, como blue-green deployment e canary release.

Pré-requisitos

Limitações

Nota

Este recurso está disponível no MSE Governance Center e exige que suas aplicações estejam conectadas a ele.

Para obter uma lista das versões do Java e frameworks compatíveis com o roteamento baseado em tags, consulte Java frameworks supported by Microservices Governance.

Casos de uso

Desenvolvimento e teste de múltiplas versões

O desenvolvimento paralelo de várias versões de uma aplicação exige um ambiente separado para cada versão, o que eleva os custos de recursos. Uma estratégia de isolamento de tráfego pode reduzir significativamente esses custos. Com o isolamento de tráfego ponta a ponta baseado em roteamento por tags, é possível direcionar tráfegos específicos para um ambiente de desenvolvimento designado. Por exemplo, no Ambiente de Desenvolvimento 1, aplique a tag Tag1 à versão V1.1 da Aplicação B e da Aplicação D e configure uma regra de roteamento correspondente. Quando a Aplicação A chamar a Aplicação B, o sistema verificará se o tráfego corresponde à regra de roteamento. Em caso afirmativo, o tráfego será roteado para a instância V1.1 da Aplicação B no Ambiente de Desenvolvimento 1. Caso contrário, será roteado para a instância V1 no ambiente de linha de base. Da mesma forma, quando a Aplicação C chamar a Aplicação D, o tráfego será roteado para a instância V1 ou V1.1 da Aplicação D, dependendo das características do tráfego.

Isolamento de tráfego entre múltiplas versões

Se várias versões de uma aplicação estiverem em execução online em ambientes diferentes, como um ambiente regular e outro para fins especiais, utilize o roteamento baseado em tags para isolar o tráfego entre eles. Por exemplo, direcione o tráfego de vendas relâmpago ou de canais específicos para o ambiente de fins especiais, enquanto o tráfego normal segue para o ambiente regular. Isso garante que, mesmo em caso de falha no ambiente de fins especiais, o tráfego destinado a ele não seja redirecionado para o ambiente regular, evitando qualquer impacto negativo.

Testes A/B

Para realizar testes A/B em múltiplas versões de uma aplicação, use o roteamento baseado em tags para controlar o tráfego de ponta a ponta. Por exemplo, direcione o tráfego de clientes da Região A para a versão V1 e o tráfego da Região B para a versão V1.1. Ao validar diferentes versões, você reduz os riscos associados ao lançamento de novos produtos ou recursos.

Ativar o Microservices Governance e definir tags

Este tópico utiliza como exemplo uma aplicação chamada spring-cloud-a. Aplique tag1 e tag2 para criar dois grupos de instâncias da aplicação. Se uma solicitação corresponder às condições configuradas, ela será roteada para uma instância com a tag especificada. Se nenhuma regra for atendida, o tráfego será distribuído para as instâncias com base nas porcentagens de distribuição de tráfego configuradas.

  1. Faça login no console do Container Service for Kubernetes (ACK).

  2. No painel de navegação à esquerda, escolha Clusters e clique em no nome do cluster desejado.

  3. No painel de navegação à esquerda, escolha .

  4. Clique em Create from Image para crie duas cargas de trabalho do tipo Deployment chamadas spring-cloud-a-tag1 e spring-cloud-a-tag2. Para mais informações, consulte Create a stateless workload Deployment.

    Parâmetro

    Descrição

    Replicas

    Defina o valor como 1.

    Type

    Selecione Deployment.

    Image name

    Selecione sua imagem construída ou use a imagem pré-construída registry.cn-hangzhou.aliyuncs.com/mse-governance-demo/spring-cloud-a:3.0.1.

  5. Siga estas etapas para conectar spring-cloud-a-tag1 e spring-cloud-a-tag2 ao Microservices Governance e defina suas tags.

    1. Retorne à página Deployments. Selecione um Namespaces e localize as aplicações criadas (spring-cloud-a-tag1 e spring-cloud-a-tag2). Na coluna Actions, escolha More > Visualize em YAML.

    2. Na caixa de diálogo Edite YAML, adicione os seguintes rótulos em tanto para spring-cloud-a-tag1 quanto para spring-cloud-a-tag2 a fim de conectá-las ao Microservices Governance.

      labels:
        msePilotAutoEnable: "on"
        msePilotCreateAppName: <your-app-name>
        alicloud.service.tag: <tag>
      Nota
      • Substitua <your-app-name> pelo nome da sua aplicação no Microservices Governance. Neste exemplo, o nome é spring-cloud-a.

      • Substitua <tag> por tag1 ou tag2.

    3. Clique em Atualize.

Criar uma regra de roteamento baseada em tags

  1. Faça login no console do MSE Governance Center e selecione uma região na barra de navegação superior.

  2. No painel de navegação à esquerda, escolha Microservices Governance > Application Governance.

  3. Na página Application list, selecione o namespace de microsserviços desejado, pesquise pela aplicação spring-cloud-a criada no ACK e clique em no nome dela.

  4. No painel de navegação à esquerda, clique em Traffic Management e, em seguida, clique em na aba Tag-based Routing para visualize a configuração atual de roteamento.

  5. Na lista Tag-based Routing, clique em Traffic Distribution, defina a porcentagem de tráfego para cada tag e clique em Save.

    Por exemplo, defina a porcentagem de tráfego para tag1 como 100% e as porcentagens para instâncias tag2 e untagged como 0%.

  6. Em Traffic Rules, clique em Add. No painel Crie Tag-based Routing, configure os parâmetros e clique em OK para crie a regra de roteamento.

    Nota

    O roteamento baseado em tags prioriza as condições definidas em uma regra de tráfego. Se uma solicitação corresponder a uma regra de tráfego, ela será roteada para um pod com a tag correspondente. Caso contrário, a solicitação será roteada para um pod com base nas porcentagens de distribuição de tráfego especificadas.

    Parâmetro

    Descrição

    Routing rule name

    Nome da regra de roteamento baseada em tags. Exemplo: test-springcloud.

    Application

    Nome da aplicação. Exemplo: spring-cloud-a.

    Tag

    Tag definida para a aplicação no ACK. Exemplo: tag2.

    Application instance

    Endereço IP e porta da instância da aplicação spring-cloud-a que possui esta tag.

    Traffic rules

    Framework type

    Selecione o framework da sua aplicação: Spring Cloud ou Dubbo.

    • Para Spring Cloud, defina apenas o caminho da URL, como /getIp.

    • Para Dubbo, selecione um service e uma interface.

    Condition mode

    Escolha um modo de condição conforme sua necessidade: Meet all of the following conditions ou Meet any of the conditions.

    Condition list

    • Se o Framework Type for Spring Cloud, defina condições com base em Parameter, Cookie, Header ou Body Content. Por exemplo, uma condição de Parameter pode ser name=xiaoming, e uma condição de Cookie pode ser hello = "world" or "world2".

    • Se o Framework Type for Dubbo, especifique uma expressão para recuperar os valores dos parâmetros.

Verificação

Verifique os resultados de acordo com seus requisitos de negócio.

  • Por padrão, 100% do tráfego é roteado para o nó com a tag tag1.

    Atag1[192.168.0.122][config=base] -> B[192.168.0.147] -> C[192.168.0.115]
  • O tráfego que corresponde à regra é roteado para o nó com a tag correspondente.

    Atag2[192.168.0.156][config=base] -> B[192.168.0.120] -> C[192.168.0.115]

Documentação relacionada

Para saber como implementar um canary release ponta a ponta, consulte End-to-end canary release.