Nacos配置的多环境管理
实现多环境管理有下面几种方式
1.使用Data ID与profiles实现
在 Nacos Config Starter 中,dataId 的拼接格式为
${prefix} - ${spring.profiles.active} . ${file-extension}
prefix 默认为 spring.application.name 的值,可以通过配置项 spring.cloud.nacos.config.prefix 来配置
spring.profiles.active 为当前环境对应的 profile
当 spring.profiles.active 为空,dataId 的拼接格式变成 ${prefix} . ${file-extension}
当 spring.profiles.active 不为空,没找到 ${prefix} - ${spring.profiles.active} . ${file-extension},会找 ${prefix} . ${file-extension}
file-extension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置
eg:
应用端配置
server.port=
spring.application.name=service-comsumer
spring.profiles.active=dev management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always spring.cloud.nacos.discovery.enabled=true
spring.cloud.nacos.discovery.server-addr=127.0.0.1:
spring.cloud.nacos.discovery.service=${spring.application.name} spring.cloud.nacos.config.server-addr=127.0.0.1:
spring.cloud.nacos.config.file-extension=properties
nacos
service-comsumer-dev.properties

2.使用Group实现
group 默认为 DEFAULT_GROUP,可以通过 spring.cloud.nacos.config.group 配置
在Nacos中是用来对Data ID做集合管理的
把一个环境的配置视为一个集合,那么使用不同的集合就可以实现不同环境的配置管理
eg:
应用端配置
server.port=8015
spring.application.name=service-comsumer
spring.profiles.active=dev management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always spring.cloud.nacos.discovery.enabled=true
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.service=${spring.application.name} spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.group=DEV_GROUP
nacos
service-comsumer.properties

3.使用Namespace实现
用于进行租户粒度的配置隔离。
不同的命名空间下,可以存在相同的Group或Data ID的配置。
可通过spring.cloud.nacos.config.namespace配置
eg:
添加命名空间

应用端配置
server.port=8015
spring.application.name=service-comsumer
spring.profiles.active=dev
namespace = c47dab76-4a76-4a3f-95bf-3b06caa05b41 management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always spring.cloud.nacos.discovery.enabled=true
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.service=${spring.application.name}
spring.cloud.nacos.discovery.namespace=${namespace} spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.namespace=${namespace}
应用启动后

注:
没设置spring.cloud.nacos.discovery.namespace,服务会在public下
命名空间dev下的配置

详情

注:
namespace的配置不是使用名称,而是使用Namespace的ID
补充:
对指定环境的配置,在发布脚本的启动命令中,通过-D传入系统参数的方式来动态指定,会更加灵活
eg:
-Dspring.profiles.active=dev
Nacos配置的多环境管理的更多相关文章
- Spring Cloud Alibaba基础教程:Nacos配置的多环境管理
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
- Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
- SpringBoot使用Nacos配置中心
本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心. 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计.它可以帮助您轻松构建云 ...
- Nacos配置中心
本文介绍spring cloud 集成 nacos案例 官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html](https://nacos.io/zh ...
- 微服务之Nacos配置中心源码解析(二)
Nacos配置中心源码解析 源码入口 ConfigFactory.createConfigService ConfigService configService = NacosFactory.crea ...
- nacos配置服务入门
1.nacos服务端部署 参见官方文档:https://nacos.io/zh-cn/docs/quick-start.html 2.nacos配置中心功能使用 在pol文件中添加依赖: 在启动类中使 ...
- Spring Cloud 系列之 Alibaba Nacos 配置中心
Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Service ...
- Nacos配置中心使用
在系统开发过程中,开发者通常会将一些需要变更的参数.变量等从代码中分离出来独立管理,以独立的配置文件的形式存在.目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进 ...
- 微服务从nacos配置中心获得配置信息
一,安装nacos, 略 二,创建父工程和微服务工程 service1, service2,以idea为例 1, new -> project -> Maven -> 填写group ...
随机推荐
- Prometheus 监控领域最锋利的“瑞士军刀”
原文:https://mp.weixin.qq.com/s/Cujn6_4w8ZcXCOWpoAStvQ 一.Kubernetes 容器监控的标配—Prometheus 1.简介 Prometheus ...
- C# 之扩展方法
在编程过程中,有时由于新的需求,可能就会需要对类型进行修改,但当需要为类型添加新功能但并不拥有类型的已有代码时,就需要用到 扩展方法; 使用扩展方法的方式:创建一个新的类,这个类必须是静态类. 在这个 ...
- Git多账号配置
在一台电脑上配置多个不同的 ssh key 前言 如果拥有多个Git远程仓库,尤其是其中一个是工作中使用的仓库,只使用一个ssh key安全性很低,建议为不同Git远程仓库配置不同的ssh key. ...
- LeetCode 905. Sort Array By Parity 按奇偶校验排列数组
题目 Given an array A of non-negative integers, return an array consisting of all the even elements of ...
- python 之Lambda表达式
python 的 lambda 表达式 python写一些执行脚本时,使用lambda就可以省下定义函数的过程,比如说我们只是需要写个简单的脚本来管理服务器时,我们就不用专门定义函数然后再写调用,使用 ...
- BeyondCompare4破解方法
因为工作需要,经常会用到BeyondCompare4这个软件,但是从官方下载的BeyondCompare4只有一个月的试用期,点击输入密钥又一直打开购买软件的页面,所以就一开始就用了最笨的方法,软件的 ...
- c# 根据一个给定经纬度的点和距离,搜索附近5公里范围的地点
功能需求:需要查询一个站点(已知该站点经纬度)5公里范围内的其它站点. 方 法 一 :对每条记录,去进行遍历,跟数据库中的每一个点进行距离计算,当距离小于5公里时,认为匹配(效率极其低下,耗时长). ...
- emacs cedet
用emacs写c或者c++代码用的插件的配置.功能是能够代码补齐. (require 'package) (package-initialize) (add-to-list'package-archi ...
- linux(03)基础系统优化
Linux之基础系统优化 Linux基础系统优化 >>> https://www.cnblogs.com/pyyu/p/9355477.html Linux的网络功能相当强悍,一时之 ...
- 第24课经典问题(中)-----关于const对象的疑问
关于const对象的疑问const关键字能否修饰类的对象?如果可以,有什么特性?const关键字能够修饰对象const修饰的对象为只读对象只读对象的成员变量不允许被改变.(对象是只读的,成员变量不允许 ...