Todos os produtos
Search
Central de documentação

Serverless App Engine:Migrar aplicações Dubbo para o SAE

Última atualização: Jun 28, 2026

Se sua aplicação Dubbo já estiver implantada na Alibaba Cloud, migre-a para o Serverless App Engine (SAE). Este tópico explica como migrar sua aplicação para o SAE sem interrupções.

Etapa 1: Migrar a primeira aplicação

Este tópico demonstra o processo de migração com uma aplicação de demonstração. Para baixar a aplicação de demonstração, consulte Demo.

  1. Priorize as aplicações para migração.

    Recomendamos começar pelo provedor de nível mais baixo na cadeia de chamadas. Se a cadeia for muito complexa para análise, inicie por qualquer aplicação.

  2. Adicione uma dependência e modifique as configurações da aplicação.

    Nota

    Esta migração usa a estratégia de registro duplo e assinatura dupla.

    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. Adicione o endereço IP do registro de serviço do SAE ao arquivo application.properties.

      dubbo.registry.address = edas-migration://192.168.XX.XX:9999?service-registry=edas://127.0.XX.XX:8080,zookeeper://192.168.XX.XX:2181&reference-registry=zookeeper://192.168.XX.XX:2181&config-address=127.0.XX.XX:8848      
      Importante

      Para aplicações que não usam Spring Boot, configure esse parâmetro no arquivo dubbo.properties ou no arquivo de configuração Spring correspondente.

      Parâmetro

      Descrição

      edas-migration://192.168.XX.XX:9999

      Não é necessário modificar o cabeçalho para múltiplos registros de serviço. Durante a inicialização, o Dubbo valida o endereço IP e a porta. Se o nível de log estiver definido como WARN ou inferior, uma mensagem de log WARN poderá aparecer; ignore-a.

      service-registry

      Endereço do registro de serviço para registro de serviços. Especifique vários endereços de registro separados por vírgula (,). Cada endereço deve seguir o formato padrão de registro do Dubbo. No exemplo, 192.168.XX.XX representa o endereço do ZooKeeper. Substitua-o pelo endereço IP e porta reais do seu ZooKeeper.

      reference-registry

      Endereço do registro de serviço para assinatura de serviços. Este parâmetro aceita múltiplos registros ou a assinatura do registro de serviço original usado antes da migração.

      config-address

      Endereço para envio de configurações dinâmicas.

    3. Outras modificações.

      Para aplicações Spring que não usam Spring Boot, adicione com.alibaba.edas.dubbo.migration.controller.EdasDubboRegistryRest ao caminho de varredura (scan path).

  3. Verificação local.

    Esta seção apresenta um exemplo com configuração dinâmica.

    1. Antes de iniciar a verificação, conclua as seguintes etapas:

    2. Verifique se o serviço está registrado.

      • Acesse o centro leve de configuração e registro e verifique se o serviço consta na Lista de Provedores.

      • Acesse o ZooKeeper e visualize as informações de registro e consumo do serviço.

    3. Opcional: Acesse o Nacos e configure as informações de registro de serviço.

      Nota

      Se não precisar de configuração dinâmica, pule esta etapa.

      Parâmetro

      Descrição

      DataId

      Defina este parâmetro como dubbo.registry.config.

      Group

      Defina este parâmetro com o nome da aplicação Dubbo, especificado por applicationName, como dubbo-migration-demo-server. A configuração ocorre no nível da aplicação, portanto o nome deve ser único.

      Conteúdo da configuração

      • Nível da aplicação

        dubbo.reference.registry=edas://127.0.XX.XX:8080   # The address of the service registry for service subscription.
        dubbo.service.registry=edas://127.0.XX.XX:8080,zookeeper:127.0.XX.XX:2181   # The address of the service registry for service registration.
      • Nível do endereço IP da instância

        192.168.XX.XX.dubbo.reference.registry=edas://127.0.XX.XX:8080,zookeeper:127.0.XX.XX:2181
        192.168.XX.XX.dubbo.service.registry=edas://127.0.XX.XX:8080

      Ao verificar um cluster, valide primeiro no nível do endereço IP da instância e depois no nível da aplicação.

    4. Verifique se as chamadas da aplicação funcionam corretamente após a migração e confirme o status de registro e assinatura no registro de serviço.

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

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

      Veja a seguir um exemplo das informações de configuração do registro de serviço retornadas ao acessar um dos endpoints acima:

      {
        "dubbo.effective.reference.registry": [
          "edas://127.0.xxx:8080"
        ],
        "dubbo.orig.reference.registry": [
          "zookeeper://127.0.xxx:2181"
        ],
        "dubbo.orig.service.registry": [
          "edas://127.0.xxx:8080",
          "zookeeper://127.0.xxx:2181"
        ],
        "dubbo.effective.service.registry": [
          "edas://127.0.xxx:8080",
          "zookeeper://127.0.xxx:2181"
        ]
      }
  4. Implante a aplicação no SAE.

    Implante a aplicação no SAE conforme necessário. Para mais informações, consulte Implantação de aplicações.

  5. Verifique os resultados.

    1. Confirme que seus serviços de negócio funcionam corretamente.

    2. Verifique o monitoramento de assinatura de serviços.

      Se o monitoramento do Spring Boot Actuator estiver ativado na sua aplicação, acesse os endpoints do Actuator para visualizar as informações da RibbonServerList dos serviços assinados:

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

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

      {
        "dubbo.effective.reference.registry": [
          "edas://127.0.xxx:8080"
        ],
        "dubbo.orig.reference.registry": [
          "zookeeper://127.0.xxx:2181"
        ],
        "dubbo.orig.service.registry": [
          "edas://127.0.xxx:8080",
          "zookeeper://127.0.xxx:2181"
        ],
        "dubbo.effective.service.registry": [
          "edas://127.0.xxx:8080",
          "zookeeper://127.0.xxx:2181"
        ]
      }

      Descrição dos parâmetros:

      • dubbo.orig.**: Informações do registro de serviço configuradas na aplicação.

      • dubbo.effective.**: Informações efetivas do registro de serviço.

Etapa 2: Migrar todas as aplicações restantes

Migre sequencialmente todas as outras aplicações para o SAE. Para mais detalhes, consulte Etapa 1: Migrar a primeira aplicação.

Etapa 3: Limpar a configuração de migração

Após concluir a migração, exclua a configuração original do registro de serviço e a dependência exclusiva de migração edas-dubbo-migration-bom.

Atualize os endereços do registro de serviço para garantir que consumidores e provedores façam assinaturas apenas a partir do SAE. Isso envolve remover a configuração do ZooKeeper. Use um dos seguintes métodos:

  • Método 1: Usar configuração dinâmica. Para mais informações, consulte a seção de verificação local.

  • Método 2: Modifique a configuração manualmente.

    Depois de atualizar todas as aplicações, altere o endereço do registro de serviço e defina o endereço de assinatura como SAE Config Server.

    dubbo.registry.address = edas-migration://192.168.XX.XX:9999?service-registry=edas://127.0.XX.XX:8080,zookeeper://192.168.XX.XX:2181&reference-registry=edas://127.0.XX.XX:8080&config-address=127.0.XX.XX:8848

    Altere o valor de reference-registry de zookeeper://192.168.XX.XX:2181 para edas://127.0.XX.XX:8080 e implante a aplicação.

    Nota

    Após a conclusão da migração, se não usar mais o ZooKeeper, remova zookeeper://192.168.XX.XX:2181 da configuração do registro de serviço.

    Embora o uso continuado do antigo ZooKeeper não afete a estabilidade do negócio, ele complica a interação do Dubbo com o registro de serviço e pode aumentar a taxa de erros. Recomendamos remover prontamente a configuração antiga do ZooKeeper após a migração e reiniciar as aplicações em lotes durante horários de baixa demanda. O endereço final fica assim:

    dubbo.registry.address = edas://127.0.XX.XX:8080