Nacos入门及配置多环境运用(二)
- 参考
- 问题
- 创建study-nacos-config项目
- application.yml
- application-dev.yml
- application-test.yml
- bootstrap.yml
- 创建study-nacos-test项目
- 配置Nacos-server
- 测试
- 解决问题
- 总结
参考
问题
在开发的实际场景中,我们的配置文件分开发、测试、生产环境;可能还有预生产环境;这样每一个微服务可能会有三到四个配置文件,而我们的微服务肯定不止一个,此时我们的配置文件也是成倍增加。如果我们的配置文件都放在一个同一个空间中,这样对我们的后期维护带来诸多不便。下面我将使用Nacos进行多环境配置管理。
创建study-nacos-config项目
我们还是依赖Nacos入门及配置运用
中的maven工程在study-nacos-config项目中创建以下配置文件:
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-server
在Nacos-server配置上面红色框四个文件,内容具体样例如下:
测试
启动我们的四个服务:
可以在我们的nacos-server看到在public中已经注册对应的四个服务:
在浏览器分别输入四个测试地址:
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
第二步:将我们之前的配置文件在对应的命名空间配置一次。
dev配置前:
dev配置后:
test配置前:
test配置后:
第三步:分别在两个项目application-dev.yml与application-test.yml文件增加我们创建的dev/test
命名空间的id:
study-nacos-test与study-nacos-config的application-dev.yml
study-nacos-test与study-nacos-config的application-test.yml
第四步:启动我们的四个服务,可以看到我们之前的public中服务列表已经没有服务,而看到的是对应的配置文件注册在对应的命名空间中:
第五步:输入之前的测试地址得到相同的结果,到此nacos的命名空间操作结束。
总结
通过nacos的命名空间我们可以将不同环境的配置文件分别放在对应环境的命名空间中,对我们管理配置文件提供方便。