Tous les produits
Search
Centre de documentation

Enterprise Distributed Application Service:Manage application configurations

Dernière mise à jour :Aug 10, 2026

Les applications Spring Cloud utilisent Nacos pour la gestion des configurations lors du développement local. Une fois déployées sur Enterprise Distributed Application Service (EDAS), Application Configuration Management (ACM), intégré à EDAS, prend automatiquement en charge la gestion et la diffusion des configurations.

Ce tutoriel vous guide dans la création d'une application Spring Cloud avec Spring Cloud Alibaba Nacos Config :

  1. Démarrer le serveur Nacos en local et créer une configuration

  2. Créer une application Spring Boot qui lit les données depuis Nacos

  3. Vérifier l'actualisation dynamique de la configuration

  4. Déployer l'application sur EDAS

Pour ignorer les étapes de construction, téléchargez le projet de démonstration nacos-config-example.zip.

Remarque
  • Spring Cloud Alibaba Nacos Config intègre Nacos au framework Spring Cloud et respecte la spécification d'injection de configuration de Spring Cloud.

  • La fonctionnalité de gestion des configurations d'EDAS n'entre pas en conflit avec Nacos open source.

Prérequis

Avant de commencer, assurez-vous que :

  • Maven est installé et configuré dans le PATH système

  • Vous avez téléchargé la dernière version de Nacos Server

Étape 1 : Démarrer le serveur Nacos

  1. Extrayez l'archive du serveur Nacos téléchargée.

  2. Accédez au répertoire nacos/bin et démarrez le serveur en mode autonome :

    • Linux, UNIX ou macOS :

      sh startup.sh -m standalone
    • Windows :

      startup.cmd -m standalone
Remarque

Par défaut, startup.cmd se lance en mode cluster. Un double-clic direct sur le fichier sous Windows entraîne un échec du démarrage. Exécutez la commande ci-dessus ou ajoutez MODE="standalone" dans startup.cmd. Pour plus de détails, consultez le guide de démarrage rapide de Nacos.

Étape 2 : Créer une configuration locale

  1. Ouvrez la console du serveur Nacos à l'adresse http://127.0.0.1:8848/nacos. Le nom d'utilisateur et le mot de passe par défaut sont tous deux nacos.

  2. Dans le volet de navigation de gauche, sélectionnez ConfigManagement > Configurations.

  3. Cliquez sur l'icône Add icon en haut à droite pour créer une configuration.

  4. Sur la page Create Configuration, définissez les paramètres suivants et cliquez sur Publish :

    Paramètre Valeur
    Data ID nacos-config-example.properties
    Group DEFAULT_GROUP
    Format Properties
    Configuration Content test.name=nacos-config-test

Correspondance entre le Data ID et votre application

Le Data ID suit cette convention de nommage :

${prefix}-${spring.profiles.active}.${file-extension}
Composant Valeur par défaut Propriété de remplacement
prefix Valeur de spring.application.name spring.cloud.nacos.config.prefix
spring.profiles.active Profil Spring actuel. Si vide, le trait d'union est omis : ${prefix}.${file-extension} --
file-extension properties spring.cloud.nacos.config.file-extension. Formats pris en charge : properties, yaml, yml

Dans ce tutoriel, le nom de l'application est nacos-config-example sans profil actif, donc le Data ID est nacos-config-example.properties.

Étape 3 : Créer l'application Spring Boot

3a. Créer un projet Maven

Créez un projet Maven nommé nacos-config-example.

3b. Ajouter les dépendances

Ajoutez les éléments suivants dans pom.xml. Cet exemple utilise Spring Boot 2.1.4.RELEASE avec Spring Cloud Greenwich.SR1 :

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
    <relativePath/>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        <version>2.1.1.RELEASE</version>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Greenwich.SR1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

Compatibilité des versions

Faites correspondre la version de Spring Cloud Alibaba à votre ligne de release Spring Cloud :

Ligne de release Spring Cloud Version Spring Cloud Alibaba
Greenwich 2.1.1.RELEASE
Finchley 2.0.1.RELEASE
~~Edgware~~ ~~1.5.1.RELEASE~~ (abandonné -- ne pas utiliser)

3c. Créer la classe de démarrage

Sous src/main/java, créez le package com.aliware.edas et ajoutez la classe NacosConfigExampleApplication suivante :

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class NacosConfigExampleApplication {
    public static void main(String[] args) {
        SpringApplication.run(NacosConfigExampleApplication.class, args);
    }
}

3d. Créer un contrôleur

Dans le même package, créez une classe EchoController. L'annotation @RefreshScope permet l'actualisation dynamique de la configuration : lorsque test.name change dans Nacos, l'application récupère la nouvelle valeur sans redémarrage.

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RefreshScope
public class EchoController {

    @Value("${test.name}")
    private String userName;

    @RequestMapping(value = "/")
    public String echo() {
        return userName;
    }
}
Remarque

L'annotation @RefreshScope recrée le bean lorsque Nacos pousse une modification de configuration. L'écouteur d'actualisation automatique est activé par défaut (spring.cloud.nacos.config.refresh.enabled=true).

3e. Configurer l'adresse du serveur Nacos

Sous src/main/resources, créez un fichier bootstrap.properties :

spring.application.name=nacos-config-example
server.port=18081
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
  • 127.0.0.1:8848 : adresse du serveur Nacos.

  • 18081 : port de l'application.

Si le serveur Nacos s'exécute sur une autre machine, mettez à jour l'adresse et le port. Consultez la référence de configuration pour connaître les propriétés supplémentaires.

Étape 4 : Exécuter et vérifier localement

Vérifier la configuration initiale

  1. Exécutez la méthode main dans NacosConfigExampleApplication pour démarrer l'application.

  2. Ouvrez http://127.0.0.1:18081 dans un navigateur. La réponse est nacos-config-test , soit la valeur de test.name que vous avez définie à l'étape 2.

Vérifier l'actualisation dynamique de la configuration

  1. Dans la console du serveur Nacos, accédez à ConfigManagement > Configurations et modifiez l'entrée nacos-config-example.properties.

  2. Remplacez test.name=nacos-config-test par test.name=nacos-config-updated et cliquez sur Publish.

  3. Actualisez la page http://127.0.0.1:18081. La réponse affiche désormais nacos-config-updated , ce qui confirme que l'annotation @RefreshScope fonctionne sans redémarrage de l'application.

Étape 5 : Déployer sur EDAS

Recréez la même configuration dans EDAS avant le déploiement, afin que l'application puisse la lire depuis le module de gestion des configurations d'EDAS.

5a. Créer la configuration dans EDAS

  1. Connectez-vous à la console EDAS.

  2. Dans le volet de navigation de gauche, sélectionnez Application Management > Microservice Configurations.

  3. Sur la page Configurations, sélectionnez une Region dans la barre de navigation supérieure et un Microservices Namespace dans la liste déroulante. Cliquez ensuite sur Create Configuration.

  4. Dans le panneau Create Configuration, définissez les mêmes paramètres que pour la configuration Nacos locale et cliquez sur Create :

    Paramètre Valeur
    Data ID nacos-config-example.properties
    Group DEFAULT_GROUP
    Format Properties
    Configuration Content test.name=nacos-config-test
Remarque

Les valeurs Region et Microservice Namespace sont héritées de la page Configurations et ne peuvent pas être modifiées dans ce panneau.

5b. Déployer l'application

Déployez l'application sur EDAS. Choisissez une méthode de déploiement selon votre infrastructure :

Simplifier le développement local vers le cloud

Une fois votre application exécutée sur EDAS, vous pouvez ignorer la configuration locale du serveur Nacos pour les itérations suivantes. EDAS propose une fonctionnalité d'interconnexion local-cloud qui permet à une application exécutée localement de :

  • Lire les configurations directement depuis le module de gestion des configurations d'EDAS

  • Appeler d'autres applications déployées dans le cloud et recevoir leurs appels

Cela vous offre le comportement complet du runtime EDAS sans avoir à redéployer à chaque modification.Pour plus d'informations sur l'interconnexion local-cloud, consultez Présentation de l'interconnexion local-cloud.

Référence de configuration

Ajoutez l'une de ces propriétés dans bootstrap.properties pour personnaliser le comportement de Nacos Config :

Élément de configuration Clé Valeur par défaut Description
Adresse du serveur spring.cloud.nacos.config.server-addr -- Adresse du serveur Nacos (obligatoire)
Préfixe du Data ID spring.cloud.nacos.config.prefix ${spring.application.name} Partie préfixe du Data ID
Groupe spring.cloud.nacos.config.group DEFAULT_GROUP Groupe de configuration
Suffixe et format du Data ID spring.cloud.nacos.config.file-extension properties Format de fichier pour le contenu de la configuration. Pris en charge : properties, yaml, yml
Encodage spring.cloud.nacos.config.encode UTF-8 Encodage des caractères pour le contenu de la configuration
Délai d'expiration spring.cloud.nacos.config.timeout 3000 Délai d'expiration pour la récupération des configurations, en millisecondes
Namespace spring.cloud.nacos.config.namespace -- Isoler les configurations entre environnements (développement, test, production)
Chemin de contexte spring.cloud.nacos.config.context-path -- Chemin relatif de l'API du serveur Nacos
Endpoint spring.cloud.nacos.config.endpoint UTF-8 Endpoint spécifique à la région pour la résolution dynamique de l'adresse du serveur
Actualisation automatique spring.cloud.nacos.config.refresh.enabled true Activer ou désactiver l'écouteur de changement de configuration

Pour la liste complète des éléments de configuration, consultez la documentation Spring Cloud Alibaba Nacos Config.