Ao atualizar uma aplicação de microsserviços Spring Cloud ou Dubbo implantada em um cluster Elastic Compute Service (ECS), a implantação canary permite validar a nova versão em um pequeno subconjunto de instâncias antes de distribuí-la para todas as demais. Essa abordagem limita o impacto de uma versão com falhas e oferece uma janela controlada para verificação.
O fluxo de uma implantação canary no Enterprise Distributed Application Service (EDAS) segue estas etapas:
Implante a nova versão em um grupo de instâncias (o grupo canary).
Direcione o tráfego para o grupo canary com base em regras de correspondência de conteúdo ou em uma proporção de tráfego.
Verifique se o grupo canary processa o tráfego corretamente.
Distribua a nova versão para os grupos de instâncias restantes em lotes.
Tipos de aplicação compatíveis
|
Tipo de aplicação |
Compatibilidade com implantação canary |
Observações |
|
Dubbo |
Compatível |
Sem restrições. |
|
Spring Cloud |
Compatível com restrições |
Não utilize a implantação canary se a aplicação configurar recursos por meio de |
|
High-Speed Service Framework (HSF) |
Não compatível |
-- |
|
Ingress |
Limitada |
Se uma instância do Server Load Balancer (SLB) encaminhar tráfego diretamente para uma aplicação ingress, a política de encaminhamento de tráfego do SLB não seguirá a política de implantação canary. Consulte a solução alternativa abaixo. |
Solução alternativa para aplicações ingress: Para usar a implantação canary com uma aplicação ingress, crie uma aplicação cliente e uma aplicação servidor com múltiplas réplicas. Implemente a implantação canary na aplicação servidor e associe a instância do SLB à aplicação cliente para gerenciar o acesso ao serviço.
Pré-requisitos
Antes de começar, certifique-se de ter:
Uma aplicação com pelo menos dois grupos de instâncias contendo instâncias ativas. Para criar grupos de instâncias e adicionar instâncias ECS, consulte Gerenciar um grupo de instâncias em um cluster ECS no console EDAS
Iniciar uma implantação canary
Faça login no console EDAS.
No painel de navegação à esquerda, escolha Application Management > Applications.
Na barra de navegação superior, selecione uma região. Na parte superior da página Applications, escolha um namespace de microsserviços na lista suspensa Microservices Namespace. Clique em nome da aplicação.
No canto superior direito da página Basic Information, clique em Deploy Application.
Na página Select Deployment Mode, localize a seção Canary Release (Phased) e clique em Start Deployment.
-
Na página Canary Release (Phased), defina as configurações abaixo e clique em OK.
Carregue o pacote de implantação da nova versão da aplicação.
-
Na seção Release Policy, configure os parâmetros da política de implantação.

A seção Publish Policy Configuration exibe uma prévia do fluxo de implantação canary com base nas suas configurações.
Parâmetro
Descrição
Canary Groups
Grupo de instâncias que recebe a nova versão primeiro.
Batches per Group After Canary Release
Quantidade de lotes para implantar a nova versão nos grupos restantes após a conclusão do grupo canary. Quando todos os grupos estão selecionados, cada um é implantado no número especificado de lotes. Se o número de instâncias em um grupo for menor que a quantidade de lotes, a implantação utiliza a contagem real de instâncias. Ao selecionar um grupo específico, apenas esse grupo é implantado no número definido de lotes.
Batch Type for Scale-out After Canary Release
Obrigatório quando Batches per Group After Canary Release for 2 ou mais. Automatic: O sistema implanta cada lote em um intervalo fixo. Especifique o Wait Time Before Next Batch (Do Not Wait, 1 Minutes, 2 Minutes, 3 Minutes, 4 Minutes ou 5 Minutes). Manual: Acione manualmente cada lote subsequente.
Java Environment
Ambiente de execução da aplicação.
-
Configure as regras de implantação canary. O EDAS oferece suporte a dois tipos de regras:
Canary release by content
Clique em Add Policy. No painel Add a canary release by content policy, clique em + Create Inbound Traffic Rule para criar uma regra de roteamento de tráfego. É possível criar várias regras de tráfego de entrada.

Parâmetro
Descrição
Protocol Type
Protocolo utilizado pela aplicação. Spring Cloud: Exige o parâmetro Path. Dubbo: Requer os parâmetros Select Service e Method.
Conditional Mode
Define como as condições são avaliadas. Meet All Following Conditions: Todas as condições devem corresponder (lógica AND). Meet Any of Following Conditions: Qualquer condição pode corresponder (lógica OR).
Conditions
Condições de correspondência para o roteamento de tráfego. Spring Cloud: Cookie, Header e Parameter. Dubbo: Parameter e Expression for Getting Parameter Values.
Canary release by ratio
Defina o parâmetro Traffic Ratio para especificar a porcentagem de tráfego direcionada ao grupo canary.
Após o início da implantação canary, a nova versão é distribuída para o grupo canary. Acompanhe o progresso da implantação na página Change Details.
Verifique se o tráfego está sendo distribuído conforme esperado. Para mais detalhes, consulte Monitorar tráfego canary.
Após a verificação, clique em Start Next Batch na página Change Details para prosseguir com a implantação faseada restante.
Reverter uma implantação canary
Se ocorrer algum problema durante a verificação, clique em Stop Change no canto superior direito da página Change Details.
Após a interrupção da alteração, a seguinte mensagem aparece na aba Basic Information: The application is in the canary release state and this change has been stopped. Please roll back the application before you perform other operations.
Reverta a aplicação antes de executar qualquer outra operação de implantação.
Verificar o resultado da implantação
Após a conclusão da implantação canary:
Na aba Basic Information, confirme se o campo Deployment Package exibe a nova versão.
Na aba Instance Information, verifique se todas as instâncias apresentam o estado Normal.