déploiement et gestion de la configuration nacos

fichier de configuration

Créez d'abord un nouveau fichier de configuration

  • Data ID : le nom du fichier de configuration (unique)
  • Spécification de dénomination : nom du service-environnement d'exécution-nom du suffixe (utilisez généralement votre yaml)
  • Groupe : nom du groupe, utilisez généralement la valeur par défaut
  • Contenu de la configuration : remplissez généralement la configuration qui doit être modifiée fréquemment, par exemple : certains commutateurs, paramètres, etc.

Ordre d'acquisition de la configuration :

项目启动>> 读取bootstrap.yml文件>> 读取nacos配置文件>> 读取本地配置文件application.yml>> 创建spring容器>> 加载bean
Parce que la priorité de lecture du fichier de configuration nacos est supérieure à celle de l'application, les informations de configuration de nacos dans l'application ne peuvent pas répondre à nos besoins, donc spring fournit un fichier bootstrap, sa priorité est supérieur à nacos, nous sommes habitués à stocker les informations de configuration de nacos dans le bootstrap

  1. Introduire les dépendances du client de gestion de configuration nacos
        <!--        nacos配置-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>

  1. Créer un fichier bootstrap.yml pour configurer les informations nacos
spring:
  application:
    name: userservice #服务名称
  profiles:
    active: dev #开发环境
  cloud:
    nacos:
      config:
        file-extension: yaml #文件后缀名
      server-addr: localhost:8848 #nacos地址
  1. Obtenez les informations de configuration correspondantes via l'annotation @value
@Component
@Data
public class Confix {
    
    
    @Value("${pattern.dataformat}") //yyyy-MM-dd HH:mm:ss
    private String dataformat;
}

    @Autowired
    private Confix confix;
    @GetMapping("/get")
    public String now(){
    
    
        return LocalDateTime.now().format(DateTimeFormatter.ofPattern(confix.getDataformat()));
    }

déploiement à chaud de la configuration nacos

  • Méthode 1 : @RefreshScope

 Le déploiement à chaud de la configuration peut être réalisé via l'annotation @RefreshScope. Le bean modifié par l'annotation @RefreshScope sera mandaté par RefreshScope pour réaliser le chargement à chaud de la configuration et de l'instance, c'est-à-dire que lorsque la configuration change, le bean peut être actualisé sans redémarrer l'application liée valeur d'attribut


@Component
@Data
@RefreshScope
public class Confix {
    
    
    @Value("${pattern.dataformat}")
    private String dataformat;
}

  • Méthode 2 : @ConfigurationProperties

 Utilisez l'annotation @ConfigurationProperties pour marquer la classe de configuration. Une fois la configuration publiée via Nacos, la classe de configuration sera à nouveau liée. À ce moment, la modification dynamique de la variable prendra effet et l'emplacement utilisé sera injecté via @Autowired .

@Component
@Data
@ConfigurationProperties(prefix = "pattern")
public class Confix {
    
    
    private String dataformat;
}

前缀名(@ConfigurationProperties(prefix = "pattern"))和变量名(dataformat)拼接后要和配置文件一致

Je suppose que tu aimes

Origine blog.csdn.net/weixin_58286934/article/details/128490404
conseillé
Classement