nacos+maven实现多环境配置

news/2024/11/2 8:43:52/
  1. maven引入nacos依赖,须包含有配置中心config
<!--        服务注册/发现-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency><!--        配置中心来做配置管理-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

maven中使用nacos配置dev,test,prod,使用不同的命名空间实现隔离:

<!-- 配置文件管理 -->
<!--统一配置开发测试生产环境-->
<profiles><profile><!--开发环境--><id>dev</id><!-- 加了这个,默认选中 --><activation><activeByDefault>true</activeByDefault></activation><!--以下属性用于 bootstrap.yml 文件中 可通过 @activatedProperties@ 获取配置的变量--><properties><activatedProperties>dev</activatedProperties><nacosNamespace>shop-dev</nacosNamespace></properties></profile><profile><!--测试环境--><id>test</id><properties><activatedProperties>test</activatedProperties><nacosNamespace>shop-test</nacosNamespace></properties></profile><!--生产环境--><profile><id>prod</id><properties><activatedProperties>prod</activatedProperties><nacosNamespace>shop-prod</nacosNamespace></properties></profile>
</profiles>

2.在项目src/main/resources目录下创建bootstrap.properties或bootstrap.yml文件,这里使用 bootstrap.yml文件,文件中写下如下内容:

spring:application:name: shop-gatewayprofiles:active: @activatedProperties@cloud:nacos:discovery:server-addr: 113.1xx.2xx.1xx:8848  #Nacos服务注册中心地址namespace: @nacosNamespace@        #Nacos命名空间   config:enabled: trueserver-addr: 113.1xx.2xx.1xx:8848  #Nacos作为配置中心地址file-extension: yaml #指定yaml格式的配置namespace: @nacosNamespace@group: DEFAULT_GROUPrefresh-enabled: true  #启用动态刷新

这里补充说明一下,为什么创建 bootstrap.yml文件而不是application开头的文件是缘于springboot项目启动读取文件的优先级、先后顺序:bootstrap.properties>bootstrap.yml>application.properties>application.yml

3.本地配置一个bootstrap.yml文件,其他文件放到nacos配置中心方便修改后无须重启服务器(必要时还是须手动重启) 。登录nacos控制台,主要用到配置管理、服务管理和命名空间3个菜单的功能。

在命名空间依次创建开发测试生产的命名空间。nacos主要通过命名空间ID识别,如果不填写,默认会生成类似UUID那样的格式,我们可以自定义命名方便快速识别如:shop-dev、shop-test、shop-prod。

4.命名空间创建好后,到配置列表创建配置文件,选中要创建配置文件的命名空间,如shop-dev,创建配置文件,这里需要注意Data ID命名,一定要带后缀,如.yaml .properties,不带后缀会导致后台服务识别不了,如果启动服务控制台打印一堆类似Ignore the empty nacos configuration and get it based on dataId的信息,启动失败,很有可能是Data ID命名不符合nacos规范,导致识别不了,从而导致无法正常启动。

nacos官方建议使用的命名规则:应用名+环境名+文件的后缀,应用名和环境名之间用“-”连接起来,文件的后缀建议使用.yaml或.properties。应用名取项目中对应微服务的bootstrap.yml文件中spring.application.name的值,环境名取我们上面maven pom文件中定义的dev/test/prod的名字,示例:shop-gateway-dev.yaml。如果没有环境分支,则直接命名为shop-gateway.yaml。

此外还需注意服务器安装的nacos版本要与引入的nacos依赖版本对应,具体可查看maven中nacos的dependecies,如下图所示:

经过以上步骤,就可实现nacos+maven组合实现多环境配置。 


http://www.ppmy.cn/news/1543819.html

相关文章

Python OpenCV 图像改变

更改图像数据 通过 改像素点 或者 切片的区域 import cv2 import numpy as np img cv2.imread("image.jpg") print(img[3,5]) # 显示某位置(行3列5)的像素值( 如 [53 34 29] 它是有三通道 B G R 组成) img[3,5] (0,0,255) # 更改该位置的像素…

Java:网络编程套接字(socket)

TCP和UDP的区别: TCP:有连接,可靠传输,面向字节流,全双工; UDP:无连接,不可靠传输,面向数据报,全双工; 有连接/无连接: 此处的连接是"抽象"的连接: 通信双方如果保存了通信对端的信息,就相当于是"有连接"; 如果不保存对端的信息,就是"无连接&qu…

数据结构————map,set详解

今天带来map和set的详解&#xff0c;保证大家分清楚 一&#xff0c;概念 map和set是一种专门用来搜索的容器或数据结构 map能存储两个数据类型&#xff0c;我们称之为<key-value>模型 set只能存储一个数据类型&#xff0c;我们称之为纯<key>模型 它们的效率都非…

ATom:加州理工学院(CIT)化学电离质谱仪(CIMS)测量的气相有机和无机分析物的浓度CIT-CIMS

目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATom: In Situ Data from Caltech Chemical Ionization Mass Spectrometer (CIT-CIMS), V2 简介 Caltech Chemical Ionization Mass Spectrometer (CIT-CIMS), V2是一种用于收集原位数据的质谱仪。…

Llama 3.2 Vision Molmo:多模态开源生态系统基础

编者按&#xff1a; 视觉功能的融入对模型能力和推理方式的影响如何&#xff1f;当我们需要一个既能看懂图像、又能生成文本的 AI 助手时&#xff0c;是否只能依赖于 GPT-4V 这样的闭源解决方案&#xff1f; 我们今天为大家分享的这篇文章&#xff0c;作者的核心观点是&#xf…

Vmos pro-虚拟机 解锁永久vip

[应用名称] 应用名称&#xff1a;Vmos pro [应用版本] 应用版本&#xff1a;2.99 [软件大小] 软件大小&#xff1a;32.2mb [应用简介] 应用简介&#xff1a;Vmos Pro这款安卓虚拟机平台&#xff0c;提供了多样化的ROM版本选择。用户可根据自身需求更换ROM&#xff0c;调…

力扣hot100-->位运算

目录 位运算 1. 136. 只出现一次的数字 2. 338. 比特位计数 3. 461. 汉明距离 位运算 1. 136. 只出现一次的数字 简单 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设…

【Nginx系列】Nginx 中的`proxy_set_header`指令:Host 字段的区别与联系

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…