实践配置中心之Nacos

Nacos is an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

Data ID

对应一个配置文件,命名:${spring.cloud.nacos.config.prefix}[-${spring.profile.active}].${spring.cloud.nacos.config.file-extension}spring.cloud.nacos.config.prefix的默认值为${spring.application.name}

配置格式

配置文件格式,对应客户端配置:${spring.cloud.nacos.config.file-extension},默认值为properties,其他如xml,json,yaml等

Group

用来对Data ID做集合管理,对应客户端的配置spring.cloud.nacos.config.group,默认值为DEFAULT_GROUP

命名空间

用于进行租户粒度的配置隔离,不同命名空间下可以有相同的Group+Data ID存在,可以用来做不同环境的配置的区分隔离

多个配置文件

当应用的配置分布在多个配置文件(包括分离出来的公共配置),可以通过spring.cloud.nacos.config.ext-config实现。

bootstrap.properties

1
2
3
4
5
6
spring.cloud.nacos.config.ext-config[0].data-id=actuator.properties
spring.cloud.nacos.config.ext-config[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.ext-config[0].refresh=true
spring.cloud.nacos.config.ext-config[1].data-id=log.properties
spring.cloud.nacos.config.ext-config[1].group=DEFAULT_GROUP
spring.cloud.nacos.config.ext-config[1].refresh=true

refresh参数控制这个配置文件中的内容时候支持自动刷新,默认情况下,只有默认加载的配置才会自动刷新,对于这些扩展的配置加载内容需要配置该设置时候才会实现自动刷新。

共享配置

bootstrap.properties

1
2
spring.cloud.nacos.config.shared-dataids=actuator.properties,log.properties
spring.cloud.nacos.config.refreshable-dataids=actuator.properties,log.properties

优先级

默认配置》多配置文件》共享配置

编译

1
$ mvn -Prelease-nacos -DskipTests clean install -U

输出在distribution/target/

运行

standalone模式,不需要数据库

1
$ sh startup.sh -m standalone

备注:Deepin下用bash startup.sh -m standalone