Nacos配置管理(疯狂踩坑)

事件原委:

今天在学习SpringCloud,配置Nacos时出现了特别多的问题,故记录下来正确的配置过程。(实例)

1、环境搭建

要想完成Nacos的热配置,需要先运行Nacos服务,我这里的Nacos的版本为1.4.1

 值得注意的是,一旦cmd窗口被关闭,Nacos服务也会随之关闭,所以这里我们不用关闭。

2、登录Nacos网页

网址在运行界面有写,我这里是:http://192.168.1.107:8848/nacos/index.html

登录后输入账号密码,默认都为nacos,进入页面

3、添加配置

此时我们在配置管理=>配置列表中点击"+"号

DataID:以     服务名称-命名空间.yaml    为格式

配置格式为YAML

配置内容填写要热部署的内容,这里添加测试

 注意:这里的书写方式一定要规范,":"后如果要填写内容,一定要点一下空格;回车的缩进为两个空格,不能是Tab

点击发布即可。

4、添加bootstrap.yml配置文件

在想要添加热部署的模块下,在resource目录下添加bootstrap.yml配置文件,并在其中输入以下内容:

spring:
  application:
    name: xxxxxxxxx #服务名称
  profiles:
    active: xxx #开发环境
  cloud:
    nacos:
      server-addr: localhost:8848 #Nacos地址
      config:
        file-extension: yaml #文件后缀名
 

其中name为你刚添加的配置的服务名称

active为开发环境,也叫命名空间

file-extension为文件的后缀名,一般为yaml

5、版本介绍

因为各个组件之间可能存在版本冲突,所以我介绍一下我使用的依赖的版本:

SpringCloud:2021.0.1

mysql:5.1.47(5以上就可以)

jdk:17

SpringBoot:2.7.6

SpringCloudalibaba:2.2.5.RELEASE

6、引入依赖

在你想要热部署的服务的pom文件下添加依赖:

(1)spring-cloud-starter-alibaba-nacos-config

(2)spring-cloud-starter-bootstrap(SpringBoot2.4之后的加这个)

7、测试

最后,在Controller类中添加测试方法,测试是否能够得到传过来的数据:

@Value("${pattern.dateformat}")
private String dateformat;

将传过来的数据通过org.springframework.beans.factory.annotation包下的Value注解注入。

可以向本类添加注解@RefreshScope,此注解的作用是添加自动刷新策略

编写GET请求方法:

@GetMapping("/now")
public String now(){    
   return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));
}

8、结果

运行该方法,在网页上输入localhost:你的端口号/now显示结果,至此,Nacos的热部署成功。

9、注意事项

(1)注意不要打错拼音,因为一个简单的错误而耽误很长时间得不偿失;

(2)注意配置文件的缩进以及格式;

(3)注意版本兼容问题,有很多同学的错误原因就是因为版本不兼容导致的;

(4)注意DataID的命名格式都是固定写法,比如服务名称,必须与IDEA中配置的服务名称相同。

以此篇文章记录我踩坑的一天~~~~啊啊

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值