配置管理
应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如︰数据库连接参数、启动参数等。同一个程序在不同环境(开发,测试,生产)、不同集群经常需要不同的配置。所以需要治理。
配置列表
三级目录
- namespace
区分环境的,可以区分开发、测试和生产三个不同的环境
- group
一般是区分微服务,以微服务名称命名
- dataId
{spring.application.name}-{spring.profile.active}.{file-extension}
官方的规范命名,也就是每一个服务的配置文件名
读取Nacos配置中心发布的配置
新建一个bootstrap.yml文件(它的启动优先级比application.yml高)
spring:
cloud:
nacos:
config:
# nacos的部署地址
server-addr: 127.0.0.1:8848
# 命名空间的id
namespace: aaf7173c-8d85-4c90-a4cf-f338791eeecd
# 该命名空间下的组号
group: SERVICE_ORDER
# 文件后缀,一定要加,不然yaml文件会找不到
file-extension: yaml
# dataId
name: service-order.yaml
加载多配置集
也就是针对一些公共配置,比如redis和mysql等数据库的配置,假如十个微服务都要加载这些配置,那如果更改参数就要更改十个配置文件。nacos可以把它们隔离出来单独形成一个配置文件,更改后统一发布给所有应用去使用,便于维护
现在新建了三个配置文件,订单微服务模块中要同时导入这三个配置文件
- bootstrap.yml
spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
# 注意要在同一个命名空间
namespace: aaf7173c-8d85-4c90-a4cf-f338791eeecd
shared-configs[0]:
data-id: service-order.yaml
group: SERVICE_ORDER
refresh: true
shared-configs[1]:
data-id: redis.yaml
group: COMMON
refresh: true
shared-configs[2]:
data-id: mysql.yaml
group: COMMON
refresh: true