Maison >Java >javaDidacticiel >Comment utiliser Java pour développer une application de centre de configuration basée sur Spring Cloud Config

Comment utiliser Java pour développer une application de centre de configuration basée sur Spring Cloud Config

WBOY
WBOYoriginal
2023-09-21 08:58:431185parcourir

如何使用Java开发一个基于Spring Cloud Config的配置中心应用

Comment utiliser Java pour développer une application de centre de configuration basée sur Spring Cloud Config

Introduction :
Dans un système distribué, la gestion de la configuration est un maillon très important. La méthode traditionnelle de gestion des fichiers de configuration présente de nombreux inconvénients, tels que la dispersion des fichiers de configuration dans différents modules et la modification de la configuration nécessite un redéploiement. L'émergence du centre de configuration résout ces problèmes et rend la gestion de la configuration plus pratique et efficace. Spring Cloud Config est une excellente solution de centre de configuration. Cet article explique comment utiliser Java pour développer une application de centre de configuration basée sur Spring Cloud Config et joint des exemples de code spécifiques.

1. Préparation de l'environnement
Avant de commencer le développement, nous devons préparer l'environnement suivant :

  1. Environnement JDK, il est recommandé d'utiliser JDK8 et supérieur.
  2. Environnement Maven pour la gestion des dépendances et des builds de projets.
  3. Environnement Spring Boot, la dernière version stable est la 2.3.4.RELEASE.
  4. Environnement Spring Cloud Config, la dernière version stable est Hoxton.SR8.

2. Créer un projet Spring Boot
Tout d'abord, nous devons créer un projet Spring Boot en tant que conteneur pour l'application du centre de configuration. Vous pouvez utiliser Spring Initializr (https://start.spring.io/) pour créer rapidement des projets. Sélectionnez les dépendances appropriées, telles que Web, Config Server, etc., téléchargez le package de projet généré et importez-le dans l'EDI.

3. Fichier de configuration
Dans le projet Spring Boot créé, nous devons effectuer quelques configurations de base.

  1. application.properties
    Dans le répertoire src/main/resources, créez le fichier application.properties et configurez les propriétés de base telles que les ports de service.
server.port=8888
spring.application.name=config-server
spring.cloud.config.server.git.uri=https://github.com/{your_git_repo}.git
spring.cloud.config.server.git.clone-on-start=true

Parmi eux, server.port est utilisé pour définir le numéro de port du service. spring.application.name Définissez le nom de l'application, qui sera utilisé comme nom de service du centre de configuration. spring.cloud.config.server.git.uriDéfinissez l'adresse de l'entrepôt Git. Ici, nous prenons GitHub comme exemple. spring.cloud.config.server.git.clone-on-start signifie que la configuration du référentiel Git sera clonée localement au démarrage de l'application. server.port用于设置服务的端口号。spring.application.name设置应用名,将作为配置中心的服务名。spring.cloud.config.server.git.uri设置Git仓库的地址,这里以GitHub为例。spring.cloud.config.server.git.clone-on-start表示在应用启动时会将Git仓库的配置克隆到本地。

  1. pom.xml
    在Spring Boot项目的pom.xml文件中,需要添加Spring Cloud Config的依赖。
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-server</artifactId>
</dependency>

四、创建Config Server
接下来,我们需要创建一个配置中心的服务端。

  1. 创建ConfigServerApplication类
    在src/main/java目录下,创建一个ConfigServerApplication类,并添加@Configuration、@EnableConfigServer注解。
@Configuration
@EnableConfigServer
public class ConfigServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigServerApplication.class, args);
    }
}
  1. 启动配置中心
    运行ConfigServerApplication的main方法启动配置中心服务端。如果一切顺利,日志中会显示配置中心已成功启动,并监听8888端口。

五、创建配置仓库
在配置中心中,我们需要创建一个Git仓库来管理配置文件。这里以GitHub为例,可以在GitHub上新建一个仓库,并在仓库中添加配置文件。

  1. 创建配置文件
    在Git仓库中,创建一个config文件夹,并在其中添加一个名为application.yml的配置文件。配置文件的格式可以是yaml或properties,这里以yaml格式为例。
server:
  port: 8080
  1. 提交配置文件到Git仓库

六、使用配置中心的配置
在需要使用配置中心的应用中,我们需要进行一些配置以实现将配置中心的配置应用到应用程序中。

  1. 创建ConfigClientApplication类
    首先,我们需要创建一个ConfigClientApplication类,作为需要使用配置的应用程序的入口。
@SpringBootApplication
@RestController
@RefreshScope
public class ConfigClientApplication {

    @Autowired
    private ConfigurableApplicationContext applicationContext;

    @RequestMapping("/")
    public String hello() {
        return applicationContext.getEnvironment().getProperty("server.port");
    }

    public static void main(String[] args) {
        SpringApplication.run(ConfigClientApplication.class, args);
    }
}
  1. 配置bootstrap.properties
    在src/main/resources目录下,创建bootstrap.properties文件,并配置应用的一些基本属性。
spring.application.name=config-client
spring.cloud.config.uri=http://localhost:8888
management.endpoints.web.exposure.include=*

其中,spring.application.name设置应用名,spring.cloud.config.uri设置配置中心的地址,这里假设配置中心服务端运行在本地。

  1. 使用配置
    在ConfigClientApplication类的hello方法中,通过applicationContext.getEnvironment().getProperty("server.port")
    1. pom.xml
    Dans le fichier pom.xml du projet Spring Boot, vous devez ajouter la dépendance de Spring Cloud Config.


    rrreee

    4. Créer un serveur de configuration

    Ensuite, nous devons créer un serveur pour le centre de configuration.

    🎜Créer la classe ConfigServerApplication🎜Dans le répertoire src/main/java, créez une classe ConfigServerApplication et ajoutez les annotations @Configuration et @EnableConfigServer. 🎜🎜rrreee
      🎜Démarrez le centre de configuration🎜Exécutez la méthode principale de ConfigServerApplication pour démarrer le serveur du centre de configuration. Si tout se passe bien, le journal indiquera que le centre de configuration a été démarré avec succès et écoute sur le port 8888. 🎜🎜🎜5. Créer un référentiel de configuration🎜Dans le centre de configuration, nous devons créer un référentiel Git pour gérer les fichiers de configuration. En prenant GitHub comme exemple, vous pouvez créer un nouvel entrepôt sur GitHub et ajouter des fichiers de configuration à l'entrepôt. 🎜🎜🎜Créer un fichier de configuration🎜Dans le référentiel Git, créez un dossier de configuration et ajoutez-y un fichier de configuration nommé application.yml. Le format du fichier de configuration peut être yaml ou propriétés Ici, le format yaml est utilisé à titre d'exemple. 🎜🎜rrreee
        🎜Soumettre le fichier de configuration au référentiel Git🎜🎜🎜 6. Configuration à l'aide du centre de configuration🎜Dans les applications qui doivent utiliser le centre de configuration, nous devons effectuer certaines configurations pour implémenter le configuration du centre de configuration appliqué à l'application. 🎜🎜🎜Créer la classe ConfigClientApplication🎜Tout d'abord, nous devons créer une classe ConfigClientApplication comme point d'entrée pour les applications qui doivent utiliser la configuration. 🎜🎜rrreee
          🎜Configurer bootstrap.properties🎜Dans le répertoire src/main/resources, créez le fichier bootstrap.properties et configurez certaines propriétés de base de l'application. 🎜🎜rrreee🎜Parmi eux, spring.application.name définit le nom de l'application et spring.cloud.config.uri définit l'adresse du centre de configuration. que le serveur du centre de configuration s'exécute en local. 🎜
            🎜Utiliser la configuration🎜Dans la méthode hello de la classe ConfigClientApplication, obtenez la configuration dans le centre de configuration via applicationContext.getEnvironment().getProperty("server.port") article. 🎜🎜🎜7. Exécutez l'application 🎜Exécutez la méthode principale de ConfigClientApplication pour démarrer l'application, puis visitez http://localhost:8080/ pour voir la configuration obtenue via le centre de configuration. 🎜🎜Résumé : 🎜Cet article explique comment utiliser Java pour développer une application de centre de configuration basée sur Spring Cloud Config et fournit des exemples de code spécifiques. Grâce au centre de configuration, nous pouvons réaliser une gestion centralisée et une mise à jour dynamique de la configuration, améliorant ainsi la maintenabilité et la flexibilité du système distribué. J’espère que cet article sera utile à l’étude et à la pratique de chacun. 🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn