如何将你的项目服务配置托管到Nacos配置中心?一文讲透
目录
一.场景
二.体验传统项目内配置
1.在application.yml中,添加配置
2.编写测试接口,并通过@Value使用该配置
3.此时要想将配置修改成15,怎么办?
三.使用Nacos的配置中心功能
1.核心思路
2.具体操作
①在pom.xml配置文件中,添加 Nacos 配置中心依赖
②在application.yml中,添加配置中心的相关配置
③在Nacos配置中心,创建配置文件(注意要和上一步的配置文件中的那个文件名称一致)
④启动项目
⑤开启动态刷新(十分重要,不然即使Nacos的配置变了,项目也获取不到)
3.测试一下
一.场景
我们的单体springboot项目中,有一个定时任务,该定时任务的执行频率放到了application.yml配置文件中。这样的话,项目上线后,比如原本配置文件中配置的是5分钟执行一次,后来发现频率太快了,要改成15分钟。此时怎么办?
此时只能重新部署一下项目(即:一次停、发版、启操作)。这样就很麻烦啊,本来就改一下配置文件,但是却要整个项目重新发版,这样肯定是不合适的。
说白了就是,当前单体Spring Boot项目的定时任务频率配置在application.yml中,修改执行频率(如从5分钟改为15分钟)后需重新部署项目才能生效,这种仅调整配置文件却需要进行完整发版流程的方式操作繁琐且效率低下。
二.体验传统项目内配置
1.在application.yml中,添加配置
此时表示执行频率5(分钟/次)
2.编写测试接口,并通过@Value使用该配置
下面启动这个项目,调用该接口:
3.此时要想将配置修改成15,怎么办?
此时只能:
- 停项目(上线的情况,该操作对应下线项目)
- 改配置
- 启项目(上线的情况,该操作对应重新发版)
此时将配置中的5改成15,再重启项目。
可见这种情况很麻烦。
三.使用Nacos的配置中心功能
1.核心思路
把代码里的配置文件(
application.yml)剥离出来,放到 Nacos 服务器上统一管理,实现“修改配置后,不需要重启服务就能生效”。
2.具体操作
①在pom.xml配置文件中,添加 Nacos 配置中心依赖
<!-- 添加 Nacos 配置中心依赖 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2023.0.1.0</version> <!-- 版本需与你的 Spring Boot 版本匹配 --> </dependency>②在application.yml中,添加配置中心的相关配置
③在Nacos配置中心,创建配置文件(注意要和上一步的配置文件中的那个文件名称一致)
④启动项目
如下图,可见此时项目启动成功。
⑤开启动态刷新(十分重要,不然即使Nacos的配置变了,项目也获取不到)
3.测试一下
此时我们看这个频率还是快,想改成66。
此时我们就不需要重启项目了,因为已经弄好了Nacos配置中心,只需要该Nacos中的对应的配置文件即可。
再次调一下接口,看看是否得到了动态更新:
可见此时完美实现了Nacos的配置中心功能,配置也得到了动态刷新的功能。
以上就是本篇文章的全部内容,喜欢的话可以留个免费的关注呦~~~
