Alibaba Nacos
示例
如何接入
在启动示例进行演示之前,我们先了解一下 Spring Cloud 应用如何接入 Nacos Config。
-
首先,修改 pom.xml 文件,引入 Nacos Config Starter。
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
-
在应用的 /src/main/resources/bootstrap.properties 配置文件中配置 Nacos Config 元数据
spring.application.name=nacos-config-example spring.cloud.nacos.config.server-addr=127.0.0.1:8848 //namespace group file-extension
-
完成上述两步后,应用会从 Nacos Config 中获取相应的配置,并添加在 Spring Environment 的 PropertySources 中。假设我们通过 Nacos 配置中心保存 Nacos 的部分配置,有以下四种例子:
-
BeanAutoRefreshConfigExample: 通过将配置信息配置为bean,支持配置变自动刷新的例子
-
ConfigListenerExample: 监听配置信息的例子
-
DockingInterfaceExample: 对接 nacos 接口,通过接口完成对配置信息增删改查的例子
-
ValueAnnotationExample: 通过 @Value 注解进行配置信息获取的例子
-
SharedConfigExample: 共享配置的例子
-
ExtensionConfigExample: 扩展配置的例子
启动 Nacos Server 并添加配置
1.直接下载Nacos Server解压双击startup.cmd启动
原理
Nacos Config 数据结构
Nacos Client 从 Nacos Server 端获取数据时,调用的是此接口 ConfigService.getConfig(String dataId, String group, long timeoutMs)
。
Spring Cloud 应用获取数据
dataID
在 Nacos Config Starter 中,dataId (即配置文件)的拼接格式如下
${prefix} - ${spring.profiles.active} . ${file-extension}
-
prefix
默认为spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置。 -
spring.profiles.active
即为当前环境对应的 profile注意,当 active profile 为空时,对应的连接符
-
也将不存在,dataId 的拼接格式变成${prefix}
.${file-extension}
-
file-extension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。 目前只支持properties
类型。
group
group
默认为DEFAULT_GROUP
,可以通过spring.cloud.nacos.config.group
配置。