Tous les produits
Search
Centre de documentation

Enterprise Distributed Application Service:Migration fluide des applications Dubbo vers EDAS

Dernière mise à jour :Aug 10, 2026

Cette rubrique explique comment migrer en toute fluidité vos applications Dubbo hébergées sur Alibaba Cloud vers Enterprise Distributed Application Service (EDAS) et y enregistrer et découvrir les services. Si vos applications Dubbo ne sont pas déployées sur Alibaba Cloud, soumettez un ticket ou contactez le support technique d’EDAS pour obtenir une solution complète de migration vers EDAS.

Avantages de la migration vers EDAS

  • EDAS propose des fonctionnalités de déploiement d’applications, telles que la configuration flexible des paramètres de démarrage, la visualisation des processus, la connexion et la déconnexion gracieuses des services ainsi que les déploiements par phases. Cela vous permet de configurer, d’interroger et de contrôler les processus de déploiement des applications.

  • La version commerciale d’EDAS intègre la découverte de services et la gestion de la configuration. Vous n’avez plus à maintenir des middlewares tels qu’Eureka, ZooKeeper ou Consul.

  • La console EDAS prend en charge la gouvernance centralisée des services. Vous pouvez ainsi consulter les détails des services publiés et consommés.

  • EDAS offre la mise à l’échelle automatique. Vos applications peuvent être ajustées dynamiquement à la hausse ou à la baisse en fonction des pics et des creux de trafic.

  • Outre la consultation des informations relatives aux instances, EDAS fournit des fonctionnalités de supervision avancées, telles que l’interrogation des traces de microservices, l’affichage de la topologie des appels système et la recherche de requêtes SQL lentes.

  • EDAS met à disposition des mécanismes de limitation du débit (throttling) et de dégradation pour garantir la haute disponibilité de vos applications.

  • Lorsque vous itérez et mettez à jour vos applications, EDAS propose un déploiement progressif de bout en bout afin d’effectuer des validations à petite échelle.

Migration fluide

Si vos applications Dubbo sont déployées en environnement de production et fonctionnent comme prévu, vous pouvez effectuer une migration fluide vers EDAS afin de bénéficier de l’ensemble des fonctionnalités d’EDAS. Cette approche garantit la continuité des services.

Remarque

Si vos applications Dubbo ne sont pas déployées en environnement de production ou si une interruption de service est acceptable pendant la migration, vous pouvez directement déployer l’application sur EDAS après son développement dans votre environnement local. Pour plus d’informations, consultez Prise en main d’EDAS.

Vue d’ensemble de la migration

La migration se déroule en trois phases :

Le schéma suivant illustre une architecture d’application type. Le processus de migration comporte trois étapes.

SpringCloud应用迁移EDAS迁移流程

  1. Migration des applications (obligatoire) — Les applications sans état sont migrées en premier, une par une.

  2. Migration de l’instance Server Load Balancer (SLB) ou mise à jour du DNS (facultatif) — Redirigez le trafic vers le nouveau déploiement.

  3. Migration du stockage et des files d’attente de messages (facultatif) — Nécessaire uniquement si vos applications n’utilisent pas déjà des services Alibaba Cloud tels qu’ApsaraDB RDS et Message Queue.

Ce guide se concentre sur la première phase.

Méthodes de migration

Vous pouvez migrer vos applications par basculement du registre ou par double inscription et double souscription. Ces deux méthodes permettent de migrer les applications sans interruption de service.

  • Basculement du registre

    Utilisez Dubbo pour basculer du registre de services initial vers EDAS Config Server, développez un nouvel ensemble d’applications, puis déployez-les sur EDAS. Ensuite, utilisez Server Load Balancer (SLB) et configurez les noms de domaine pour rediriger le trafic.

    Si vous optez pour la méthode de basculement du registre, vous pouvez ignorer le reste de cette rubrique. Vous pouvez utiliser Spring Boot pour développer des applications de microservices Dubbo. Pour plus d’informations, consultez Utiliser Spring Boot pour développer une application de microservices Dubbo.

  • Double inscription et double souscription

    Connectez-vous simultanément au registre de services initial et au registre de services EDAS pendant la migration afin de permettre les appels mutuels entre les applications migrées et celles qui ne le sont pas encore.

    Le schéma ci-dessous présente l’architecture permettant une migration fluide des applications via la double inscription et la double souscription :

    EDAS Dubbo应用迁移方案

    • Les applications migrées et non migrées peuvent se découvrir et s’appeler mutuellement. Cela garantit la continuité des services.

    • Il suffit d’ajouter des dépendances et de modifier une ligne de code pour mettre en œuvre la double inscription et la double souscription.

    • Vous pouvez consulter les détails des appels des services consommateurs et suivre la progression de la migration en temps réel.

    • Vous pouvez modifier dynamiquement les politiques d’inscription et de souscription aux services sans avoir à redémarrer les applications à plusieurs reprises. Un seul redémarrage est nécessaire tout au long du processus de migration.

Migration de la première application

  1. Sélectionnez la première application à migrer.

    Nous vous recommandons de commencer la migration par le fournisseur de niveau inférieur. Si la trace est complexe et difficile à analyser, vous pouvez sélectionner une application au hasard. Migrez l’application choisie en suivant les étapes suivantes.

  2. Ajoutez des dépendances à l’application et modifiez sa configuration. La modification de la configuration est obligatoire si vous utilisez la méthode de double inscription et double souscription.

    Ajoutez les dépendances nécessaires et adaptez la configuration de l’application avant sa migration vers EDAS.

    1. Ajoutez la dépendance edas-dubbo-migration-bom au fichier 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. Ajoutez l’adresse du registre au fichier 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             
      Remarque

      Si l’application n’est pas une application Spring Boot, effectuez la configuration dans dubbo.properties ou dans le profil Spring.

      • edas-migration://30.5.124.15:9999

        Préfixe de l’adresse du registre. Aucun changement n’est requis si l’application est inscrite auprès de plusieurs registres de services. Si le niveau de journalisation est WARN ou inférieur, un avertissement peut être émis au démarrage, car Dubbo vérifie l’adresse IP et le port. Vous pouvez ignorer ce message.

      • service-registry

        Adresse du registre de services auprès duquel l’application s’inscrit. Par défaut, l’application s’inscrit auprès de plusieurs registres ; plusieurs adresses sont donc indiquées. Chaque adresse respecte le format standard d’une adresse de registre Dubbo. Séparez les différentes adresses par des virgules (,). Saisissez l’adresse et le port réels de ZooKeeper pour l’instance identifiée par l’adresse ZooKeeper 172.31.20.219. `

      • reference-registry

        Adresse du registre utilisée pour la souscription aux services. Vous pouvez inscrire l’application auprès de plusieurs registres de services ou uniquement auprès du registre initial. Chaque adresse respecte le format standard d’une adresse de registre Dubbo. Séparez les différentes adresses par des virgules (,).

      • config-address

        Adresse de diffusion dynamique. Pour mettre en œuvre la diffusion dynamique dans votre environnement local, téléchargez Nacos. EDAS convertit cette adresse.

    3. Effectuez les autres modifications requises.

      Si l’application Spring n’est pas développée avec Spring Boot, ajoutez com.alibaba.edas.dubbo.migration.controller.EdasDubboRegistryRest au chemin d’analyse (scan path).

  3. Vérifiez le résultat dans votre environnement local.

    Utilisez la configuration dynamique pour appliquer une modification ponctuelle.

    1. Préparez l’environnement.

    2. Vérifiez si le service est bien inscrit.

      • Connectez-vous au centre de configuration léger pour afficher le service dans la liste des fournisseurs de services.

      • Connectez-vous à ZooKeeper pour consulter les informations relatives à l’inscription et à la consommation des services.

    3. (Facultatif) Connectez-vous à Nacos pour configurer les informations d’inscription des services.

      Remarque

      Ignorez cette étape si la configuration dynamique n’est pas requise.

      • DataId : définissez ce paramètre sur dubbo.registry.config.

      • Group : indiquez le nom de l’application Dubbo spécifié dans applicationName, par exemple dubbo-migration-demo-server. Le nom de l’application doit être unique, car la configuration d’inscription des services s’applique au niveau de l’application.

      • Configuration Content : le contenu de la configuration peut être défini au niveau de l’application ou au niveau de l’adresse IP de l’instance. En cas d’utilisation de plusieurs cartes réseau (NIC), une erreur peut survenir au niveau de l’adresse IP de l’instance.

        • Niveau application

          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
        • Niveau adresse IP de l’instance

          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                                                

        Lors de la validation d’un cluster, vous pouvez vérifier si les configurations au niveau de l’adresse IP de l’instance et celles au niveau de l’application s’appliquent successivement.

    4. Vérifiez que les appels entre applications fonctionnent correctement et examinez les relations d’inscription et de souscription du registre.

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

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

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

  4. Déployez l’application modifiée sur EDAS.

    Selon vos besoins métier, vous pouvez déployer l’application sur un cluster Elastic Compute Service (ECS) ou sur un cluster Container Service for Kubernetes (ACK). Utilisez la console EDAS ou l’outil associé pour effectuer le déploiement. Pour plus d’informations, consultez Vue d’ensemble de l’hébergement d’applications (K8s) et Vue d’ensemble de l’hébergement d’applications (ECS).

    • Nous vous recommandons de réutiliser une instance ECS existante en l’important dans EDAS afin de réduire les coûts. Pour plus d’informations, consultez Créer un cluster ECS dans la console EDAS.

      Important

      Si une conversion vous est demandée lors de l’importation de l’instance ECS, sauvegardez les données importantes avant de poursuivre.

    • Si vous ne réutilisez pas une instance ECS existante, vous devez créer des ressources telles qu’une instance ECS et un cluster dans le réseau privé virtuel (VPC) existant. Cela permet d’établir la connectivité réseau entre les applications avant et après la migration, facilitant ainsi le processus. Pour plus d’informations, consultez Vue d’ensemble.

    • Configurez une liste blanche d’adresses IP pour la nouvelle instance ECS dans les produits tels que les bases de données, les caches et les files d’attente de messages. Cela garantit que l’instance ECS puisse accéder correctement à ces composants tiers.

  5. Vérifiez le résultat.

    1. Assurez-vous que votre service fonctionne comme prévu.

    2. Consultez les données de supervision relatives à la souscription aux services.

      Si Spring Boot Actuator est activé pour l’application, vous pouvez accéder à Actuator pour afficher les informations relatives à RibbonServerList pour chaque service souscrit par l’application. Accédez à Actuator via les URL suivantes :

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

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

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

      • dubbo.orig.** : informations du registre de services configurées dans l’application.

      • dubbo.effective.** : informations du registre de services effectivement appliquées dans l’application.

Migration des autres applications

Migrez les autres applications vers EDAS en répétant la procédure utilisée pour la première application.

Suppression des configurations de migration

Une fois la migration terminée, supprimez les configurations du registre de services initial ainsi que la dépendance edas-dubbo-migration-bom utilisée pendant la migration.

Modifiez l’adresse du registre en supprimant les configurations ZooKeeper. Cela garantit que les consommateurs ne s’abonnent qu’auprès d’EDAS et que les fournisseurs ne publient leurs services que sur EDAS. Vous pouvez modifier l’adresse du registre selon les méthodes suivantes :

  • Méthode 1 : configuration dynamique

    Pour plus d’informations, consultez Vérifiez le résultat dans votre environnement local.

  • Méthode 2 : modification manuelle

    Une fois toutes les applications modifiées, remplacez l’adresse du registre par celle d’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                   

    Remplacez la valeur de reference-registry passant de zookeeper://172.31.20.219:2181 à edas://127.0.0.1:8080. Déployez ensuite les applications.

    Remarque

    Si ZooKeeper n’est plus nécessaire, supprimez zookeeper://172.31.20.219:2181 des configurations du registre de services après la migration.

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

À long terme, ZooKeeper n’affecte pas la stabilité des services, mais il augmente la complexité et le taux d’erreur liés à l’utilisation des registres de services dans Dubbo. Nous vous recommandons de supprimer les configurations ZooKeeper après la migration et de redémarrer les applications par lots pendant les heures creuses.