当前位置:网站首页>Nacos配置中心
Nacos配置中心
2022-07-30 03:25:00 【Leon_Jinhai_Sun】
前面我们学习了SpringCloud Config,我们可以通过配置服务来加载远程配置,这样我们就可以在远端集中管理配置文件。
实际上我们可以在bootstrap.yml中配置远程配置文件获取,然后再进入到配置文件加载环节,而Nacos也支持这样的操作,使用方式也比较类似,比如我们现在想要将借阅服务的配置文件放到Nacos进行管理,那么这个时候就需要在Nacos中创建配置文件:

将借阅服务的配置文件全部(当然正常情况下是不会全部CV的,只会复制那些需要经常修改的部分,这里为了省事就直接全部CV了)复制过来,注意Data ID的格式跟我们之前一样,应用名称-环境.yml,如果只编写应用名称,那么代表此配置文件无论在什么环境下都会使用,然后每个配置文件都可以进行分组,也算是一种分类方式:

完成之后点击发布即可:

然后在项目中导入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>接着我们在借阅服务中添加bootstrap.yml文件:
spring:
application:
# 服务名称和配置文件保持一致
name: borrowservice
profiles:
# 环境也是和配置文件保持一致
active: dev
cloud:
nacos:
config:
# 配置文件后缀名
file-extension: yml
# 配置中心服务器地址,也就是Nacos地址
server-addr: localhost:8848现在我们启动服务试试看:

可以看到成功读取配置文件并启动了,实际上使用上来说跟之前的Config是基本一致的。
Nacos还支持配置文件的热更新,比如我们在配置文件中添加了一个属性,而这个时候可能需要实时修改,并在后端实时更新,那么这种该怎么实现呢?我们创建一个新的Controller:
@RestController
public class TestController {
@Value("${test.txt}") //我们从配置文件中读取test.txt的字符串值,作为test接口的返回值
String txt;
@RequestMapping("/test")
public String test(){
return txt;
}
}我们修改一下配置文件,然后重启服务器:

可以看到已经可以正常读取了:

现在我们将配置文件的值进行修改:

再次访问接口,会发现没有发生变化:

但是后台是成功检测到值更新了,但是值却没改变:

那么如何才能实现配置热更新呢?我们可以像下面这样:
@RestController
@RefreshScope //添加此注解就能实现自动刷新了
public class TestController {
@Value("${test.txt}")
String txt;
@RequestMapping("/test")
public String test(){
return txt;
}
}重启服务器,再次重复上述实验,成功。
边栏推荐
- OPENSQL
- 每日优鲜生死劫:被曝清退大部分员工 仍未递交年报(附音频)
- Testers, what else do you need to know besides testing?
- 传输层详解
- 雪花是否一样问题
- gnss rtcm rtklib Ntrip...
- 力扣(LeetCode)210. 课程表 II(2022.07.29)
- JIT VS AOT
- Answer these 3 interview questions correctly, and the salary will go up by 20K
- 解决谷歌浏览器跨域问题has been blocked by CORS policy: The request client is not a secure context and the resou
猜你喜欢

The most important transport layer

Fudan-Washington University EMBA Kechuang's Ao E丨The Magical Materials and We Are Shaped

The box office broke 790 million US dollars. Have you watched this recent dinosaur movie?

开放地址法哈希实现——二次探测法

代码可读性,前置检查、注释及总结

JUC(六):synchronized

开放地址法哈希实现——线性探测法

(六)《数电》——二极管与CMOS门电路(入门)

复合类型--引用,指针

应用在光伏逆变器中的IGBT晶圆
随机推荐
The most important transport layer
[C Supplement] Conversion of Integer to String
最重要的传输层
OPENSQL
Hacker News Broadcast | A fake offer steals $625 million
WPF递归获取窗体中指定控件类型列表
sqlmap使用教程大全命令大全(图文)
淘宝/天猫获得淘宝店铺详情 API
WPF引入 ttf 图标文件使用记录
【基于RT-Thread+RA6M4的智能鱼缸系统设计之鱼我所欲也】
运营人必须掌握的6大类26个基本模型
Three years of experience will only be a little bit (functional testing), and you may not even be able to find a job after resigning.
Stimulsoft ReportsJS and DashboardsJS. 2022.3.3
Solve The problem of Google browser cross-domain has had been blocked by CORS policy: The request The client is not a secure context and The resou
CDH/CDP 是什么?
Drools(7):WorkBench
REUSE_ALV_GRID_DISPLAY详解
golang的channel实现原理
分类之决策树分类
解决导航栏变黑色