依赖和相关配置
- 添加依赖
注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>${latest.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>${latest.version}</version>
</dependency>
在项目下src/main/resources下新建bootstrap.properties,填写nacosService的配置
server.port=8899
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
#spring.cloud.nacos.config.namespace=93dfcb0d-6d95-4e31-ae0d-709e660d0815
spring.application.name=provider
spring.profiles.active=prod
spring.cloud.nacos.config.prefix=demo-config
spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.cluster-name= prod
spring.cloud.inetutils.preferred-networks=192.168
还有一些可选配置说明
nacos.springcloud.discovery配置.png
配置管理
在 Nacos Spring Cloud 中,dataId 的完整格式如下:
${prefix}-${spring.profile.active}.${file-extension}
- prefix默认为 spring.application.name的值,当配置了 spring.cloud.nacos.config.prefix时,prefix为spring.cloud.nacos.config.prefix时的值。
- spring.profile.active即为当前环境对应的 profile, 注意:当 spring.profile.active 为空时,对应的连接符
-
也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}
- file-exetension为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持
properties
和yaml
类型。
我们根据上面配置文件bootstrap.properties定位到的是Nacos配置中心的配置集是
NameSpace: public
Group: DEFAULT_GROUP
DataId: demo-config-prod.properties
在nacosService的控制后台上新建配置 QQ截图20190716111956.png
这样在项目代码中可以通过@Value或@NacosValue注解访问到配置内容
@Value("${test}")
String test;
@NacosValue(value = "${myspringboot:myspringboot}",autoRefreshed = true)
String springboot;
@RefreshScope+@Value可以实现热加载配置
@NacosValue(value = "${myspringboot:myspringboot}",autoRefreshed = true)没有测试初热加载有效,暂时不知问题所在
INFO 9312 --- [-127.0.0.1_8848] o.s.c.e.event.RefreshEventListener : Refresh keys changed: [test, myspringboot]
灰度配置
灰度配置指的是指定部分客户端IP进行新配置的下发,其余客户端配置保持不变,用以验证新配置对客户端的影响,保证配置的平稳发布。灰度配置是生产环境中一个比较重要的功能,对于保证生产环境的稳定性非常重要。在1.1.0中,Nacos支持了以IP为粒度的灰度配置,具体使用步骤如下:
- 在配置列表页面,点击某个配置的“编辑配置”按钮:
- 勾选“Beta发布”,在文本框里填入要下发配置配置的IP,多个IP用逗号分隔:
- 修改配置内容,点击“发布Beta”按钮,即可完成灰度配置的发布:
- 点击“发布Beta”后,“发布Beta”按钮变灰,此时可以选择“停止Beta”或者“发布”。“停止Beta”表示取消停止灰度发布,当前灰度发布配置的IP列表和配置内容都会删除,页面回到正常发布的样式。“发布”表示将灰度配置在所有客户端生效,之前的配置也会被覆盖,同时页面回到正常发布的样式
服务注册
暂空
Spring/SpringBoot下的一些:
暂空
网友评论