SpringCloud-Alibaba之Nacos多环境多项目管理,springmvc源码分析

前言

前面几篇文章介绍了Nacos作为注册中心和配置中心的基本用法,但在实际开发中,通常一个系统会准备开发环境、测试环境、预发环境、正式环境。那么如何保证指定环境启动时服务能正确读取到Nacos上相应环境的配置文件呢?

另一个问题就是一个系统会有很多微服务项目每个微服务项目都会有相应的开发环境、测试环境、预发环境、正式环境,那怎么对这些微服务配置进行管理呢?

今天老顾就这两个问题和小伙伴们进行沟通分享,我们沿用前面文章的案例

DataId方案

在上一篇文章中有对Data ID进行过介绍,它的命名规则为

p r e f i x − {prefix}- prefix{spring.profile.active}.${file-extension}

通过其中的spring.profile.active属性即可进行多环境下配置文件的读取

新建配置

在Nacos控制台新建DataID为goods-consumer-dev.yml和goods-consumer-test.yml,配置项goods.crisis_stock

我们dev环境设置goods.crisis_stock=10,test环境设置goods.crisis_stock=20

多环境测试

启动goods-consumer应用,设置启动参数spring.profiles.active,设置不同的环境dev、test;访问URL请求,得到不同的值,表示多环境生效

DEV环境

TEST环境

Group方案

上面介绍了通过指定spring.profile.active和配置文件的DataID来使不同环境下读取不同的配置。当然也可以不用DataID,可通过Group实现环境区分

新建配置

在nacos控制台上面新建配置文件Data ID为:goods-consumer.yml, Group为:DEV_GROUP, 其配置如下

继续创建配置文件Data ID为:goods-consumer.yml, Group为:TEST_GROUP, 其配置如下:

这里的两个配置文件他们的DataID相同但是Group不同

修改项目中的配置文件bootstrap.yml

在config下增加一条group的配置,指定配置文件所在的group,可配置为DEV_GROUP或TEST_GROUP

启动测试

启动参数将group配置为DEV_GROUP或TEST_GROUP启动进行测试,请求URL,得到不同Group配置的值

Namespace方案

Namespace命名空间进行环境隔离也是官方推荐的一种方式Namespace的常用场景之一是不同环境的配置的区分隔离,例如:开发测试环境和生产环境的资源(如配置、服务)隔离等。

创建命名空间

创建命名空间DEV、TEST、PROD,不同的命名空间会生成相应的UUID,如下图

新建配置文件

在命名空间DEV下创建DataID为:goods-consumer-dev.yml,Group为默认值的配置,配置如下:

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

最后

如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!

文对你有帮助的话,不妨给我点个赞,关注一下吧!**

[外链图片转存中…(img-3UodWzUB-1711157036076)]

[外链图片转存中…(img-LpPqpU38-1711157036077)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值