Todos os produtos
Search
Central de documentação

Enterprise Distributed Application Service:Migre aplicações Dubbo para o EDAS sem interrupções

Última atualização: Jun 29, 2026

Este tópico descreve como migrar aplicações Dubbo na Alibaba Cloud para o Enterprise Distributed Application Service (EDAS) de forma contínua, além de registrar e descobrir serviços. Caso suas aplicações Dubbo não estejam implantadas na Alibaba Cloud, abra um ticket ou entre em contato com o suporte técnico do EDAS para obter uma solução completa de migração.

Benefícios da migração para o EDAS

  • O EDAS oferece recursos avançados de implantação de aplicações, incluindo configuração flexível de parâmetros de inicialização, visualização de processos, conexão e desconexão elegante de serviços e liberação faseada. Esses recursos permitem configurar, consultar e controlar os processos de liberação das aplicações.

  • A versão comercial do EDAS inclui funcionalidades nativas de descoberta de serviços e gerenciamento de configurações, eliminando a necessidade de manter middlewares como Eureka, ZooKeeper ou Consul.

  • O console do EDAS suporta governança centralizada de serviços, possibilitando a consulta detalhada dos serviços liberados e consumidos.

  • Com o dimensionamento automático do EDAS, você ajusta dinamicamente a escala das aplicações para dentro ou para fora conforme os picos e vales de tráfego.

  • Além da consulta de informações de instâncias, o EDAS disponibiliza monitoramento avançado, como rastreamento de microsserviços, topologia de chamadas do sistema e consultas SQL lentas.

  • Para garantir alta disponibilidade, o EDAS fornece mecanismos de limitação de taxa e degradação de serviços.

  • Durante iterações e atualizações, utilize a liberação faseada ponta a ponta do EDAS para validar alterações em pequena escala antes da expansão total.

Migração contínua

Se suas aplicações Dubbo já estão em produção e operando normalmente, realize uma migração contínua para transferi-las ao EDAS e aproveitar todos os seus recursos. Essa abordagem preserva a continuidade dos serviços durante a transição.

Nota

Caso as aplicações Dubbo ainda não estejam em ambiente de produção, ou se uma janela de manutenção for aceitável, implante-as diretamente no EDAS após o desenvolvimento local. Para mais detalhes, consulte Primeiros passos com o EDAS.

Visão geral da migração

A migração ocorre em três fases:

A figura abaixo ilustra uma arquitetura típica de aplicação. O processo de migração divide-se em três etapas.

SpringCloud应用迁移EDAS迁移流程

  1. Migrar aplicações (obrigatório) -- Comece pelas aplicações stateless, migrando uma por vez.

  2. Migrar a instância do Server Load Balancer (SLB) ou atualizar o DNS (opcional) -- Redirecione o tráfego para a nova implantação.

  3. Migrar armazenamento e filas de mensagens (opcional) -- Necessário apenas se as aplicações ainda não utilizarem serviços da Alibaba Cloud, como ApsaraDB RDS e Message Queue.

Este guia concentra-se na primeira fase.

Métodos de migração

Existem duas abordagens para migrar aplicações sem interromper os serviços: troca de registro ou registro e assinatura duplos.

  • Troca de registro

    Neste método, substitua o registro de serviços original pelo EDAS Config Server usando o Dubbo. Desenvolva um novo conjunto de aplicações, implante-as no EDAS e, em seguida, use o Server Load Balancer (SLB) com configurações de domínio para alternar o tráfego.

    Ao optar pela troca de registro, ignore o restante deste tópico. Para desenvolver aplicações de microsserviços Dubbo com Spring Boot, consulte Usar Spring Boot para desenvolver uma aplicação de microsserviços Dubbo.

  • Registro e assinatura duplos

    Conecte simultaneamente o registro de serviços original e o registro do EDAS durante a migração. Isso permite que aplicações migradas e não migradas se comuniquem mutuamente.

    O diagrama a seguir mostra a arquitetura de migração contínua usando registro e assinatura duplos:

    EDAS Dubbo应用迁移方案

    • Aplicações migradas e não migradas conseguem descobrir e invocar umas às outras, garantindo a continuidade do serviço.

    • A implementação exige apenas a adição de dependências e a alteração de uma linha de código.

    • Monitore o progresso da migração em tempo real e visualize detalhes das chamadas de serviço do consumidor.

    • Modifique dinamicamente as políticas de registro e assinatura de serviços sem reiniciar as aplicações repetidamente. Apenas um reinício é necessário durante todo o processo.

Migrar a primeira aplicação

  1. Selecione a primeira aplicação a ser migrada.

    Recomendamos iniciar a migração pelo provedor subjacente. Se o rastreamento for complexo e difícil de analisar, escolha aleatoriamente uma aplicação para começar. Execute os passos seguintes para migrar a aplicação selecionada.

  2. Adicione dependências à aplicação e modifique suas configurações. Ajustes de configuração são obrigatórios ao utilizar o método de registro e assinatura duplos.

    Inclua as dependências e ajuste as configurações antes de migrar a aplicação para o EDAS.

    1. Adicione a dependência edas-dubbo-migration-bom ao arquivo pom.xml.

          <dependency>
                  <groupId>com.alibaba.edas</groupId>
                  <artifactId>edas-dubbo-migration-bom</artifactId>
                  <version>2.6.5.1</version>
                  <type>pom</type>
              </dependency>                                
    2. Insira o endereço do registro no arquivo application.properties.

      dubbo.registry.address = edas-migration://30.5.124.15:9999?service-registry=edas://127.0.0.1:8080,zookeeper://172.31.20.219:2181&reference-registry=zookeeper://172.31.20.219:2181&config-address=127.0.0.1:8848             
      Nota

      Para aplicações que não usam Spring Boot, defina a configuração em dubbo.properties ou no perfil do Spring.

      • edas-migration://30.5.124.15:9999

        Prefixo do endereço de registro. Não é necessário alterá-lo mesmo com múltiplos registros de serviço. Durante a inicialização, o Dubbo valida o IP e a porta; portanto, logs de aviso (WARN) podem aparecer se o nível de log estiver configurado como WARN ou inferior. Tais logs podem ser ignorados.

      • service-registry

        Endereços dos registros onde a aplicação será registrada. Como o padrão envolve múltiplos registros, liste todos separados por vírgula (,). Cada entrada deve seguir o formato padrão de endereço de registro do Dubbo. Substitua 172.31.20.219 pelo endereço e porta reais da sua instância ZooKeeper. `

      • reference-registry

        Endereço de registro para assinatura de serviços. É possível usar múltiplos registros ou manter inicialmente apenas o original. Separe vários endereços com vírgulas (,), respeitando o formato padrão do Dubbo.

      • config-address

        Endereço para envio dinâmico de configurações. Para ative essa funcionalidade localmente, baixe o Nacos. O EDAS converterá automaticamente este endereço.

    3. Realize outras modificações necessárias.

      Em aplicações Spring desenvolvidas fora do Spring Boot, inclua com.alibaba.edas.dubbo.migration.controller.EdasDubboRegistryRest no caminho de varredura (scan path).

  3. Verifique o resultado no ambiente local.

    Utilize configurações dinâmicas para realizar ajustes pontuais.

    1. Prepare o ambiente.

    2. Confirme se o serviço foi registrado corretamente.

      • Acesse o centro de configuração leve e localize o serviço na lista de provedores.

      • Conecte-se ao ZooKeeper para inspecionar dados de registro e consumo de serviços.

    3. (Opcional) Acesse o Nacos para definir informações de registro de serviço.

      Nota

      Ignore esta etapa caso não precise de configurações dinâmicas.

      • DataId: Defina como dubbo.registry.config.

      • Group: Insira o nome da aplicação Dubbo definido em applicationName (por exemplo, dubbo-migration-demo-server). O nome deve ser único, pois as configurações de registro ocorrem no nível da aplicação.

      • Configuration Content: Configure no nível da aplicação ou do endereço IP da instância. Em ambientes com múltiplas interfaces de rede (NICs), configurações baseadas em IP podem gerar erros.

        • Nível da aplicação

          dubbo.reference.registry=edas://127.0.0.1:8080   ## The service registry with which the service is registered
          dubbo.service.registry=edas://127.0.0.1:8080,zookeeper:127.0.0.1:2181 ## The service registry for service subscription
        • Nível do endereço IP da instância

          169.254.15.86.dubbo.reference.registry=edas://127.0.0.1:8080,zookeeper:127.0.0.1:2181
          169.254.15.86.dubbo.service.registry=edas://127.0.0.1:8080                                                

        Ao validar clusters, verifique sequencialmente se as configurações de nível de IP e de nível de aplicação surtem efeito.

    4. Valide o funcionamento das chamadas da aplicação e confirme as relações de registro e assinatura.

      • Spring Boot 1.x: http://ip:port/dubboRegistry

      • Spring Boot 2.x: http://ip:port/actuator/dubboRegistry

      查看注册中心的注册订阅关系

  4. Implante a aplicação modificada no EDAS.

    Escolha entre implantar em um cluster Elastic Compute Service (ECS) ou Container Service for Kubernetes (ACK), conforme sua necessidade. Utilize o console do EDAS ou ferramentas associadas para a implantação. Consulte Visão geral da hospedagem de aplicações (K8s) e Visão geral da hospedagem de aplicações (ECS) para mais informações.

    • Para reduzir custos, reutilize instâncias ECS existentes importando-as para o EDAS. Veja Criar um cluster ECS no console do EDAS para detalhes.

      Importante

      Faça backup dos dados críticos antes de prosseguir caso receba um aviso solicitando conversão durante a importação da instância ECS.

    • Se não houver instâncias ECS disponíveis para reuso, crie novos recursos (instâncias ECS e clusters) dentro da Virtual Private Cloud (VPC) existente. Isso garante conectividade de rede entre as aplicações pré e pós-migração. Saiba mais em Visão geral.

    • Configure listas de permissões de IP para a nova instância ECS em bancos de dados, caches e filas de mensagens, assegurando acesso adequado a esses componentes externos.

  5. Valide os resultados.

    1. Verifique se o serviço opera conforme esperado.

    2. Analise os dados de monitoramento de assinatura de serviços.

      Com o Spring Boot Actuator ativado, acesse-o para visualizar informações sobre RibbonServerList de cada serviço assinado pela aplicação. Use as URLs abaixo:

      • Spring Boot 1.x: http://ip:port/dubboRegistry

      • Spring Boot 2.x: http://ip:port/actuator/dubboRegistry

      查看注册中心的注册订阅关系

      • dubbo.orig.**: informações originais de registro configuradas na aplicação.

      • dubbo.effective.**: informações de registro efetivamente ativas na aplicação.

Migrar as demais aplicações

Repita o procedimento utilizado na primeira aplicação para migrar todas as restantes para o EDAS.

Remover configurações de migração

Após concluir a migração, elimine as configurações do registro de serviços original e remova a dependência edas-dubbo-migration-bom usada temporariamente.

Atualize o endereço de registro excluindo as referências ao ZooKeeper. Assim, consumidores assinarão serviços exclusivamente via EDAS, e provedores publicarão apenas no EDAS. Escolha um dos métodos abaixo para ajustar o endereço:

  • Método 1: configuração dinâmica

    Consulte a seção Verificar o resultado no ambiente local para instruções detalhadas.

  • Método 2: modificação manual

    Depois de ajustar todas as aplicações, aponte o endereço de registro para o EDAS ConfigServer.

    dubbo.registry.address = edas-migration://30.5.XXX.XXX:9999?service-registry=edas://127.0.0.1:8080,zookeeper://172.31.20.219:2181&reference-registry=edas://127.0.0.1:8080&config-address=127.0.0.1:8848                   

    Substitua o valor de reference-registry de zookeeper://172.31.20.219:2181 para edas://127.0.0.1:8080 e reimplemente as aplicações.

    Nota

    Caso o ZooKeeper deixe de ser necessário, remova zookeeper://172.31.20.219:2181 das configurações de registro após finalizar a migração.

    dubbo.registry.address = edas://127.0.0.1:8080                        

Embora o ZooKeeper não comprometa a estabilidade dos serviços a longo prazo, sua presença aumenta a complexidade e a probabilidade de erros no gerenciamento de registros do Dubbo. Recomendamos remover essas configurações após a migração e reiniciar as aplicações em lotes durante horários de baixa demanda.