在不同的环境下启动工程,通常是需要我们指定采用的配置文件,例如通过spring.profiles.active=dev指定采用的配置文件,每次部署都很麻烦,是一时失误,就会导致配置文件错误。所以,我们更希望我们的工程项目可以自动的获取到正确的配置文件,无需我们在启动命令指定。下面我们将介绍,根据工程的IP地址,自动拉取正确的配置文件的实践。
Nacos环境隔离
通常,企业研发的流程是这样的:先在测试环境开发和测试功能,然后灰度,最后发布到生产环境。并且,为了生产环境的稳定,需要将测试环境和生产环境进行隔离,此时,必然会遇到问题是多环境问题,即:
- 多个环境的数据如何隔离?
- 如何优雅的隔离?(不需要用户做任何改动)
参考博客:https://mp.weixin.qq.com/s/6S2L-zy0osbgOvkYjx3mwQ
因此,本文主要是介绍基于Nacos和nginx,实现不同环境的配置文件存储在不同的Nacos中,同时,在 Nacos 客户端不需要做任何代码改动的情况下,就可以实现环境的自动路由的实践。
通俗一点说,针对不同环境的配置文件存储在不同的nacos上,nginx通过客户端的IP地址判断客户端所处环境,然后进行路由,从而客户端连接到符合其环境的Nacos上,获取正确的配置文件。客户端不需要根据环境做任何改变。如下图所示:

下面是搭建过程介绍(以测试和开发两个环境为例):
启动两台Nacos:
分别启动了两台Nacos:172.16.10.40:8848、 172.16.10.166:8848,都是单机模式启动的,启动有问题的可以查看之前的博客:https://blog.youkuaiyun.com/qq_26932225/article/details/86536837
172.16.10.40:8848模拟存放开发环境配置文件

172.16.10.166:8848模拟存放测试环境配置文件

分别添加配置文件:nacosClient.properties :

本文介绍了如何使用Nacos和Nginx实现环境隔离,通过客户端IP地址自动选择对应的Nacos实例获取配置文件。无需手动指定spring.profiles.active,简化部署过程。详细步骤包括启动两台Nacos,配置Nginx,创建Nacos客户端并测试不同环境的运行效果。
最低0.47元/天 解锁文章
1659

被折叠的 条评论
为什么被折叠?



