¿Por qué los microservicios necesitan un centro de configuración?
1. En la arquitectura de microservicios, la cantidad y la complejidad de los servicios aumentarán significativamente, por lo que se necesita un centro de configuración para administrar y configurar de manera centralizada estos diferentes microservicios.
2. El centro de configuración puede eliminar los problemas causados por la codificación rígida, realizar la gestión de configuración de múltiples entornos, evitar los riesgos causados por la modificación manual de los archivos de configuración y admitir la expansión dinámica y la implementación de servicios.
3. A través del centro de configuración, los administradores pueden monitorear y administrar fácilmente la configuración de los microservicios, actualizar las configuraciones de los servicios a tiempo y reducir los costos y riesgos de operación y mantenimiento.
4. El centro de configuración también puede proporcionar funciones de gestión de versiones para garantizar la coherencia y la visibilidad de la configuración del sistema y garantizar la estabilidad y el rendimiento de la arquitectura de microservicios.
Cómo usar el centro de configuración
1. Este entorno de ejemplo
JDK: 17
SpringBoot: 3.0.6
spring-cloud-starter-alibaba-nacos-config: 2021.0.4.0
nacos: 2.2.0-BATA
2. instalacion de nacos
Consulte mi artículo anterior: Inicio y configuración de Nacos
3. configuración nacos
2.1 Crear un nuevo espacio de nombres
2.2 Nueva configuración
4.pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.springcloud.nacos.config</groupId>
<artifactId>springcloud-nacos-config-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springcloud-nacos-config-demo</name>
<description>Demo project for Spring Cloud</description>
<properties>
<java.version>17</java.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2021.0.4.0</version>
</dependency>
</dependencies>
5.aplicación.yml
spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
group: DEFAULT_GROUP
#指定文件名,没有则默认${spring.application.name}
#指定文件后缀
file-extension: yaml
namespace: dca4fe79-6c62-44df-aa7f-12f58de7e05c #这里是nacos的命名空间的id
config:
import:
- optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}
application:
name: nacos.cfg.test
server:
port: 8080
6.Controlador de configuración de Nacos
@Controller
@RequestMapping("config")
public class NacosConfigController {
//通过 Nacos 的 @NacosValue 注解设置属性值
@Value(value = "${nacos.test.properties:null}")
private String testProperties;
/**
* 获取配置
* @return
*/
@RequestMapping(value = "/get", method = RequestMethod.GET)
@ResponseBody
public String get() {
return testProperties;
}
}
7. Comienza a probar los resultados con la herramienta http
Todo el ejemplo anterior está completo.
Si necesita el código fuente completo, preste atención a la cuenta oficial "Architecture Hall" y responda al "centro de configuración springcloud+nacos" para obtener
escribir al final
Si está interesado en artículos relacionados, puede prestar atención a la cuenta oficial "Architecture Hall", y continuará actualizando AIGC, preguntas de entrevista básicas de Java, netty, spring boot, spring cloud y otra serie de artículos, y una serie de ¡Los productos secos se entregarán en cualquier momento!