Spring Cloud Config (servidor y cliente del centro de configuración unificado)
Spring Cloud Config proporciona soporte de servidor y cliente para configuración externalizada en sistemas distribuidos. Spring Cloud Config es una herramienta que se utiliza para obtener dinámicamente archivos de configuración locales, Git y SVN. Las propiedades externas de una aplicación se pueden gestionar en todos los entornos. Se puede utilizar con cualquier aplicación que se ejecute en cualquier idioma. A medida que una aplicación pasa del desarrollo a las pruebas y a la producción mediante la implementación, puede administrar la configuración entre estos entornos y asegurarse de que la aplicación tenga todo lo que necesita para ejecutarse cuando se migre. La implementación predeterminada del backend de almacenamiento del servidor utiliza git, que admite fácilmente versiones etiquetadas del entorno configurado, así como una variedad de herramientas que se pueden usar para administrar contenido. Es fácil agregar implementaciones alternativas y conectarlas usando la configuración de Spring.
Dirección de Github: /spring-cloud/spring-cloud-config
Guía oficial: https://spring.io/projects/spring-cloud-config
1. HTTP, API basada en recursos para configuración externa (pares nombre-valor o contenido YAML equivalente)
2. Cifrar y descifrar valores de atributos (simétricos o asimétricos)
3. Integre fácilmente aplicaciones Spring Boot usando @EnableConfigServer
1. Vincule el servidor de configuración y el entorno inicialice Spring usando fuentes de propiedades remotas
2. Cifre y descifre el valor de la propiedad (simétrico o asimétrico) )
Notas de la versión
SpringBoot: 2.1.3.RELEASE
SpringCloud: Greenwich.SR1
Introducir la dependencia del servidor Spring Cloud Config
Aquí se utiliza el centro de registro de Eureka, por lo que es necesario agregarlo
La configuración es muy simple. Solo necesita agregar @EnableEurekaClient a la clase de inicio para activar el cliente Eureka. y @EnableConfigServer está activado. Centro de configuración unificado
Se puede crear en Gitlab privado, Code Cloud, Github, etc.
Los archivos de configuración que creé aquí suelen ser yml o propiedades. archivos de configuración
p>Debe especificar el almacén conectado, el nombre de usuario y la contraseña en el archivo de configuración del proyecto
spring.cloud.config.server.git.uri es la dirección de acceso del almacén
Pruebe a continuación
Primero inicie el centro de registro de Eureka y luego inicie el centro de configuración unificada
En la consola, puede ver que una configuración el archivo se creará en el directorio temporal
Acceso en el navegador: http://localhost:8080/config-a.yml
Se proporciona el método de visualización http oficial
aplicación: nombre de la aplicación, es decir, spring.application.name
etiqueta: nombre de la rama, maestro predeterminado
perfil: nombre del entorno, el nombre del atributo del entorno puede ser env en el archivo de configuración, o no estar configurado
Descripción de la versión
SpringBoot: 2.1.3.RELEASE
SpringCloud: Greenwich.SR1
Introduzca la dependencia del cliente Spring Cloud Config
Utilice Eureka para registrarse aquí en el Centro, por lo que debe agregar
No es necesario comenzar
Agregue anotaciones a la clase
Dado que es el cliente del centro de configuración unificado, debe configurarse en el archivo de configuración yml
spring.cloud.config.discovery.enabled: habilitar el descubrimiento del servicio de configuración
spring.cloud.config.discovery.service-id: nombre de la instancia del servicio de configuración, que es el nombre de la aplicación de Config Server
spring.cloud.config.label : Es el nombre de la rama de configuración. El valor predeterminado es master, que se puede dejar sin configurar
spring.cloud.config.profile: nombre del entorno, correspondiente al entorno de Config Server
dev: entorno de desarrollo
test: entorno de prueba
pro: entorno formal
Escenario: cuando se utiliza Spring Cloud, la información de configuración generalmente se carga desde el servidor de configuración Para obtener la información de configuración (como la contraseña, etc.), necesita Leer la configuración con antelación. Por lo tanto, coloque la información del servidor de configuración en bootstrap.yml para cargar la información de configuración requerida.
Principio: bootstrap.yml lo carga un Spring ApplicationContext principal. El Spring ApplicationContext del padre se carga primero, antes de cargar el ApplicationContext de application.yml.
bootstrap.yml (bootstrap.properties) se usa para ejecutar cuando se inicia el programa y se usa para leer información de configuración anterior. Por ejemplo, se puede usar para configurar los parámetros utilizados en application.yml, etc. .
application.yml (application.properties) Información de configuración específica de la aplicación, que se puede utilizar para configurar parámetros públicos que se utilizarán en módulos posteriores.
Después de configurar e iniciar, puede leer el archivo de configuración del almacén remoto