Nacos入门及配置多环境运用(二)

  • 参考
  • 问题
  • 创建study-nacos-config项目
  • application.yml
  • application-dev.yml
  • application-test.yml
  • bootstrap.yml
  • 创建study-nacos-test项目
  • 配置Nacos-server
  • 测试
  • 解决问题
  • 总结


参考

Spring cloud Nacos


问题

在开发的实际场景中,我们的配置文件分开发、测试、生产环境;可能还有预生产环境;这样每一个微服务可能会有三到四个配置文件,而我们的微服务肯定不止一个,此时我们的配置文件也是成倍增加。如果我们的配置文件都放在一个同一个空间中,这样对我们的后期维护带来诸多不便。下面我将使用Nacos进行多环境配置管理。

创建study-nacos-config项目

我们还是依赖Nacos入门及配置运用中的maven工程在study-nacos-config项目中创建以下配置文件:

nacos设置java环境变量 nacos多环境_spring

application.yml

spring:
  profiles:
    active: dev

application-dev.yml

server:
  port: 10086
spring:
  application:
    name: study-nacos-config

application-test.yml

server:
  port: 10088
spring:
  application:
    name: study-nacos-config

bootstrap.yml

spring:
  application:
    name: study-nacos-config
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
        prefix: ${spring.application.name}
        file-extension: yml

创建study-nacos-test项目

study-nacos-user项目中的pom和具体方法内容与study-nacos-config项目一致,唯一不同的地方就是study-nacos-user项目的端口号为:dev为:10087,test为:10089;注意:spring:applicatio:name: study-nacos-user

nacos设置java环境变量 nacos多环境_配置文件_02

配置Nacos-server

nacos设置java环境变量 nacos多环境_nacos设置java环境变量_03

在Nacos-server配置上面红色框四个文件,内容具体样例如下:

nacos设置java环境变量 nacos多环境_配置文件_04

测试

启动我们的四个服务:

nacos设置java环境变量 nacos多环境_命名空间_05


可以在我们的nacos-server看到在public中已经注册对应的四个服务:

nacos设置java环境变量 nacos多环境_命名空间_06


在浏览器分别输入四个测试地址:

http://localhost:10086/getValue:这是config服务dev
http://localhost:10087/getValue:这是test的dev
http://localhost:10088/getValue:这是config服务test
http://localhost:10089/getValue:这是test的test

解决问题

第一步:Nacos-serve创建命名空间分别是dev/test

nacos设置java环境变量 nacos多环境_nacos设置java环境变量_07


nacos设置java环境变量 nacos多环境_nacos设置java环境变量_08


第二步:将我们之前的配置文件在对应的命名空间配置一次。

dev配置前:

nacos设置java环境变量 nacos多环境_配置文件_09


dev配置后:

nacos设置java环境变量 nacos多环境_spring boot_10


test配置前:

nacos设置java环境变量 nacos多环境_nacos设置java环境变量_11


test配置后:

nacos设置java环境变量 nacos多环境_spring_12


第三步:分别在两个项目application-dev.yml与application-test.yml文件增加我们创建的dev/test命名空间的id:

study-nacos-test与study-nacos-config的application-dev.yml

nacos设置java环境变量 nacos多环境_nacos设置java环境变量_13

study-nacos-test与study-nacos-config的application-test.yml

nacos设置java环境变量 nacos多环境_spring boot_14

第四步:启动我们的四个服务,可以看到我们之前的public中服务列表已经没有服务,而看到的是对应的配置文件注册在对应的命名空间中:

nacos设置java环境变量 nacos多环境_命名空间_15


nacos设置java环境变量 nacos多环境_nacos设置java环境变量_16

第五步:输入之前的测试地址得到相同的结果,到此nacos的命名空间操作结束。


总结

通过nacos的命名空间我们可以将不同环境的配置文件分别放在对应环境的命名空间中,对我们管理配置文件提供方便。