Todos os produtos
Search
Central de documentação

Serverless App Engine:Cenário de produção: Implementar uma liberação canary de ponta a ponta com base em um gateway Spring Cloud ou Zuul auto-hospedado

Última atualização: Jun 28, 2026

Ao executar uma liberação canary em aplicações do SAE com gateways Spring Cloud ou Zuul autogerenciados, você precisa direcionar tráfego específico para uma versão gray de cada microsserviço e garantir que esse roteamento se propague automaticamente por toda a cadeia de serviços. Este tópico demonstra como configurar o roteamento de tráfego de ponta a ponta usando um único cabeçalho de solicitação HTTP, sem alterar o código de negócio.

Conceitos principais

Termo

Descrição

Ambiente de linha de base

Versão estável de produção dos seus microsserviços — Aplicação A, B e C. Todo o tráfego vai para este ambiente por padrão.

Ambiente de liberação canary

Nova versão em validação — Aplicação A-gray, B-gray e C-gray. Somente solicitações com o cabeçalho canary chegam a este ambiente.

Propagação de ponta a ponta

Quando o gateway de entrada encaminha uma solicitação para uma instância gray, a tag gray se propaga automaticamente por todas as chamadas de serviço downstream — A-gray → B-gray → C-gray — sem necessidade de alterações no código.

x-mse-tag

Cabeçalho de solicitação HTTP usado exclusivamente neste cenário para rotear tráfego aos ambientes de liberação canary. Não use este cabeçalho ao configurar regras de liberação canary para aplicações.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Uma instância de Application Load Balancer (ALB) configurada como gateway de entrada

  • Um registro de serviço Nacos disponível para registro e descoberta de serviços

  • O pacote mse-simple-demo baixado

Implantar aplicações de demonstração do SAE

Implantar aplicações principais

Implante a Aplicação A (carrinho de compras), a Aplicação B (centro de transações) e a Aplicação C (centro de inventário) no SAE. Para obter instruções de configuração, consulte Modifique o registro e a descoberta de serviços das aplicações para o Nacos.

Implantar aplicações de liberação canary

Implante a Aplicação A-gray, a Aplicação B-gray e a Aplicação C-gray. Adicione -Dalicloud.service.tag=gray ao comando de inicialização de cada aplicação canary para que o sistema as distinga das versões de linha de base.

Se sua implantação usar um registro de serviço não nativo do SAE, adicione também os seguintes parâmetros de inicialização: -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false

Implantar o gateway Spring Cloud ou Zuul

Encaminhe solicitações do mesmo nome de domínio usando diferentes caminhos de URL. Para detalhes de configuração, consulte Configure o roteamento de gateway para uma aplicação usando uma instância CLB.

Roteirizar tráfego para o ambiente de liberação canary

Se não for possível alterar o nome de domínio do cliente, associe o nome de domínio www.base.com a uma rota e adicione o cabeçalho x-mse-tag:gray às solicitações destinadas ao ambiente de liberação canary. O gateway de entrada ALB lê o cabeçalho e encaminha a solicitação para as instâncias de serviço gray, que propagam a tag gray para todos os serviços downstream.

Aviso

O cabeçalho x-mse-tag funciona apenas neste cenário específico. Não o use ao configurar regras de liberação canary para aplicações. Para mais informações, consulte Gerencie regras de liberação canary para aplicações Java.

O diagrama a seguir ilustra como uma solicitação recebida vai para o ambiente de liberação canary após a adição do cabeçalho x-mse-tag:gray.

End-to-end canary release using self-managed Spring Cloud or Zuul gateways

Verificar a liberação canary

Execute os comandos abaixo para confirmar se o roteamento de tráfego está correto.

Verifique tráfego de linha de base — solicitações sem o cabeçalho x-mse-tag vão para o ambiente de produção:

curl -H "Host:www.base.com" http://106.14.XX.XX/a

Saída esperada:

A[172.18.XX.XX] -> B[172.18.XX.XX] -> C[172.18.XX.XX]

Verifique tráfego canary — adicione x-mse-tag:gray para rotear a solicitação pelas três instâncias gray:

curl -H "Host:www.base.com" -H "x-mse-tag:gray" http://106.14.XX.XX/a

Saída esperada:

Agray[172.18.XX.XX] -> Bgray[172.18.XX.XX] -> Cgray[172.18.XX.XX]%

Essa saída confirma que o controlador de entrada do Classic Load Balancer (CLB) roteou a solicitação para o ambiente de liberação canary da Aplicação A e que a tag gray se propagou de ponta a ponta pela Aplicação B-gray e pela Aplicação C-gray.

Próximos passos

  • Para configurar regras automatizadas de liberação canary para aplicações Java, consulte Gerencie regras de liberação canary para aplicações Java.