Article précédent : Construction du cluster Nacos Server
Table des matières
Ajouter un jeu de configuration
- Créez-en simplement un nouveau dans le centre de configuration nacos
Actualiser les éléments de configuration en temps réel
- compter sur
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- Modifiez le fichier de configuration
application.yml
enbootstrap.yaml
- Ajouter une configuration de configuration
server:
port: 8083
spring:
application:
name: m-service-resume
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 &serverTimezone=UTC
username: root
password: root
jpa:
database: MySQL
show-sql: true
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl #避免将驼峰命名转换为下划线命名
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
#集群名称
cluster-name: BJ
#所属命名空间
namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a
#nacos config 配置
config:
server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a
group: DEFAULT_GROUP
file-extension: yaml
- Obtenez la classe de configuration de configuration et ajoutez
@RefreshScope
des annotations
@RestController
@RequestMapping("/config")
//实时刷新注解
@RefreshScope
public class ConfigController {
@Value("${my.message}")
private String myMessage;
@Value("${mysql.url}")
private String mysqlUrl;
@GetMapping("/viewconfig")
public String viewconfig() {
return "msg==>" + myMessage + " mySqlUrl=>" + mysqlUrl;
}
}
- accéder
- Modifier le contenu dans la configuration, 100 fait 200
- Actualisation en temps réel terminée
- Modifier le contenu dans la configuration, 100 fait 200
Écoutez les requêtes
- centre de configuration nacos
extension dataId
Obtenez plusieurs fichiers de configuration de nacos
- Créez plusieurs fichiers de configuration dans nacos
abc.yaml
,def.yaml
- Obtenez plusieurs fichiers de configuration
cloud:
nacos:
discovery:
config:
server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a
group: DEFAULT_GROUP
file-extension: yaml
#获取多个配置文件
ext-config[0]:
data-id: abc.yaml
group: DEFAULT_GROUP
refresh: true #扩展dataId 的动态刷新
ext-config[1]:
data-id: def.yaml
group: DEFAULT_GROUP
refresh: true
- Redémarrer le service
- Modifier la configuration dans nacos et revisiter l'interface (le fichier de configuration étendu s'actualise dynamiquement)
problème de priorité dataId
Priorité : dataId généré selon les règles > dataId étendu (pour dataId étendu, [n] Plus n est grand, plus la priorité est élevée)
-
Copiez la configuration
m-service-resume.yaml
et changez le numéro en 300, 400my.message
abc.yaml
def.yaml
-
Redémarrez le projet, le résultat
-
Priorité entre les fichiers de configuration étendus et les nouveaux éléments de configuration
-
résultat