文章目录
- 前言
- nacos配置中心介绍
- 使用步骤
- 总结
前言
上篇文章介绍了nacos作为服务注册中心的用法,本文将介绍下nacos作为配置中心的用法。
nacos配置中心介绍
入坑Spring Cloud Alibaba后发现的nacos确实很强大,简单易用不说,除了做服务注册中心外,还能起来配置中心的作用,类似Spring Cloud Config的作用。
不过Config需要将配置文件保存到git仓库中,nacos可以直接保存配置文件了,使用起来更加方便。
并且nacos还支持配置文件的热加载,用起来很开心。
使用步骤
本章的案例是在前面案例基础上进行修改的,大概的过程是:
1、在nacos中添加配置文件
2、由provider_service服务加载该配置文件
3、在服务的接口中输出配置内容进行验证。
先登录nacos,在配置列表中添加配置: 其中Data ID分为三个部分:
1、前缀,一般是服务的id
2、profile 应用的环境,有dev、pro、test几种
3、后缀名,这里使用yaml
配置内容随意填写了一些,包含端口和jdbc属性
写完后点击发布,在配置列表中可以看到该配置,下一步就是在provider-service中加载该配置
在provider-service中添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
在resources目录下添加bootstrap.yml文件,它比application.yml文件提前加载
前面添加的Data ID 的格式就是 ${prefix}-${profiles.active}.${file-extension}
spring:
cloud:
nacos:
config:
server-addr: 192.168.7.188:8848 # 配置中心地址
file-extension: yaml # 配置文件的后缀
prefix: provider-service # 配置文件的前缀
profiles:
active: dev # 使用的profile
application.yml
spring:
application:
name: provider-service
cloud:
nacos:
discovery:
server-addr: 192.168.7.188:8848 # nacos的地址,端口默认是8848
用于测试的Controller
@RestController
@RefreshScope
public class NacosConfigController {
@Value("${server.port}")
private String port;
@Value("${spring.datasource.driver-class-name}")
private String driver;
@Value("${spring.datasource.url}")
private String url;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@RequestMapping("/config")
public String config(){
return "{port='" + port + '\'' +
", driver='" + driver + '\'' +
", url='" + url + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
启动服务,直接在浏览器中测试
在nacos后台修改密码,然后刷新浏览器,可以看到nacos应用了配置热加载的机制
总结
今天介绍了nacos作为配置中心的使用方法,后面还会介绍更多alibaba组件的使用,如果文章对你有帮助,