Artículo anterior: Construcción del clúster del servidor Nacos
Tabla de contenido
Agregar conjunto de configuración
- Simplemente cree uno nuevo en el centro de configuración de nacos.
Actualizar elementos de configuración en tiempo real
- confiar
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- Modifique el archivo de configuración
application.yml
parabootstrap.yaml
- Agregar configuración de configuración
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
- Obtenga la clase de configuración de configuración y agregue
@RefreshScope
anotaciones
@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;
}
}
- acceso
- Modifica el contenido en la configuración, 100 es 200
- Actualización en tiempo real completada
- Modifica el contenido en la configuración, 100 es 200
Escuche las consultas
- centro de configuración de nacos
extensión de ID de datos
Obtenga múltiples archivos de configuración de nacos
- Cree múltiples archivos de configuración en nacos
abc.yaml
,def.yaml
- Obtener múltiples archivos de configuración
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
- Reiniciar servicio
- Modifique la configuración en nacos y vuelva a visitar la interfaz (el archivo de configuración extendido se actualiza dinámicamente)
problema de prioridad de ID de datos
Prioridad: dataId generado de acuerdo con las reglas> dataId extendido (para dataId extendido, [n] Cuanto mayor es n, mayor es la prioridad)
-
Copie la configuración
m-service-resume.yaml
y cambie el número a 300, 400my.message
abc.yaml
def.yaml
-
Reiniciar el proyecto, el resultado.
-
Prioridad entre archivos de configuración extendidos, nuevos elementos de configuración
-
resultado