SpringCloud-配置中心

配置中心

目前的配置有以下痛点:

  • 微服务重复配置过多,维护成本高

  • 业务配置经常变动,每次修改都要重启服务

  • 网关路由配置写死,如果变更需要重启网关


Nacos

Nacos不仅仅具备注册中心功能,还能实现配置管理服务

在之前,我们进行配置管理的方式是通过application.yaml文件来做统一管理

在加入SpringCloud的配置中心,我们将其很多共享配置提取管理,形成单独的一套配置管理文件

这样两条配置会一起加载,最后合并配置,完成初始化即可

导入依赖

1
2
3
4
5
6
7
8
9
10
<!--nacos 配置管理-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--读取bootstrap文件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

配置bootstrap.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
spring:
application:
name: cart-service
profiles:
active: dev
cloud:
nacos:
server-addr: localhost:8848
config:
file-extension: yaml
shared-configs:
- data-id: shared-jdbc.yaml
- data-id: shared-log.yaml
- data-id: shared-swagger.yaml

配置热更新

nacos中创建一个与微服务名有关的配置文件

微服务中要以特定的方式读取需要热更新的配置属性(配置属性类)


动态路由

在进行微服务的路由改变时(增加模块或删除模块),我们需要停掉网关服务更改其网关的配置文件才行

新版本中已经实现了动态路由的简单配置,通过Nacos的配置热更新可以直接实现Gateway的路由配置变更



SpringCloud-配置中心
http://blog.170827.xyz/2025/06/19/SpringCloud-配置中心/
作者
XIAOBAI
发布于
2025年6月19日
许可协议