A, Nacos Config Introducción
¿Qué es?
-
Nacos: Dinámica de nombres y servicio de configuración.
-
Nacos: de hecho, una combinación de registro de servicio del centro de la configuración del servicio Eureka + Config.
En segundo lugar, la configuración básica
1) las dependencias del proyecto build.gradle
{dependencias grupo de compilación: 'org.springframework.boot', nombre: 'primavera-arranque-motor de arranque en la web' grupo de compilación: 'org.springframework.boot', nombre: 'primavera-arranque-motor de arranque-actuador grupo de compilación: ' com.alibaba.cloud 'nombre: 'primavera-nube-motor de arranque-alibaba-NACOS config', versión: '2.1.0.RELEASE' del grupo de compilación: 'com.alibaba.cloud', nombre:' primavera-cloud- arrancador-alibaba-nacos-discovery', versión: '2.1.0.RELEASE' }
2) ¿Por qué desea configurar dos perfiles?
Nacos con muelle nube de configuración al inicializar el proyecto, para asegurar que el centro de distribución empezar a tirar de configuración después de la configuración de tracción, con el fin de garantizar el inicio normal del proyecto. Primavera de arranque cargar archivos de configuración es el orden de prioridad presencia, de arranque solicitud de prioridad más alta.
Servidor: puerto: 7071 de la primavera: la aplicación: nombre: config-Client-nacos Nube: nacos: Descubrimiento: Servidor-addr: 127.0.0.1:8848 # Nacos servicio designado registro de la dirección central de configuración: Servidor-addr: 127.0.0.1:8848 # nacos dirección del centro de servicio de configuración especificada extensión de archivo: yaml # especificar el formato YAML de configuración (el archivo de configuración original en GitHub)
la primavera:
Perfiles:
Active: dev # indica entorno de desarrollo activo
empaquetar org.wesson.cloudalibaba.nacos; importación org.springframework.boot.SpringApplication; importación org.springframework.boot.autoconfigure.SpringBootApplication; importación org.springframework.cloud.client.discovery.EnableDiscoveryClient; @EnableDiscoveryClient @SpringBootApplication pública clase ConfigClientNacosApplication { públicas estáticas void main (String [] args) { SpringApplication.run (. ConfigClientNacosApplication clase , args); } }
4) Controller
Nube Primavera anotaciones nativas mediante @RefreshScope
empaquetar org.wesson.cloudalibaba.nacos.controller; importación org.springframework.beans.factory.annotation.Value; importación org.springframework.cloud.context.config.annotation.RefreshScope; importación org.springframework.web.bind.annotation.GetMapping; importación org.springframework.web.bind.annotation.RestController; @RestController @RefreshScope // 支持Nacos的动态刷新功能 pública clase ConfigNacosController { @Valor ( "$ {} config.info" ) privada Cadena configInfo; @GetMapping ( "/ getInfo" ) públicaCadena getConfigInfo () { regreso configInfo; } }
5) añadir la información de configuración Nacos
Teoría, las reglas de coincidencia NACOS
oficial:
$ {} Spring.application.name - $ {} $ {spring.profile.active spring.cloud.nacos.config.file-extensión}.
Ejemplos:
config-cliente-nacos-dev.yaml
Nota: estrictamente de acuerdo con el sitio web oficial de la fórmula, no deje que spring.profile.active
vaciar, de otro modo desconcertante problema se produce.
La operación práctica, la nueva configuración
pequeño resumen
6) Ensayo
Antes de iniciar necesidad yaml tener un perfil correspondiente en Nacos cliente menú de configuración de la lista
: Paso 1
Paso 2: -client-config nacos inicio de la clase Run, el puerto 7071
Paso 3: información de configuración de vista de la interfaz de llamadas, visite http: // localhost: 7071 / getInfo , los resultados son los siguientes:
configuración del cliente nacos adquirió con éxito el archivo de configuración de la lista de configuración de cliente NACOS dev.yaml contenido.
En tercer lugar, viene la configuración dinámica de actualización
No hay necesidad de añadir ningún bus de mensajes de bus relevante dependerá, editar directamente el archivo de configuración para modificar yaml versión Nacos lista de configuración de cliente se puede Publicado:
Haga clic en la liberación, habrá una diferencia de valor actual y el valor original, y luego confirmar que la liberación:
No es necesario reiniciar cualquier servicio y POST peticiones enviadas previamente. Llamado de nuevo para comprobar la configuración de la interfaz, la configuración tiene éxito se encuentra la función de actualización dinámica:
Tengo que decir, la tecnología Ali Baba Nacos está todavía muy maduro, reemplazar completamente el equivalente de Eureka, Config y autobús tres componentes.