Nacos配置的多环境管理

摘要:
不同的命名空间下,可以存在相同的Group或DataID的配置。

实现多环境管理有下面几种方式

1.使用Data IDprofiles实现

在 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=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

nacos

service-comsumer-dev.properties

Nacos配置的多环境管理第1张

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

Nacos配置的多环境管理第2张

3.使用Namespace实现

用于进行租户粒度的配置隔离。

不同的命名空间下,可以存在相同的GroupData ID的配置。

可通过spring.cloud.nacos.config.namespace配置

eg:

添加命名空间

Nacos配置的多环境管理第3张

应用端配置

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}

应用启动后

Nacos配置的多环境管理第4张

注:

没设置spring.cloud.nacos.discovery.namespace,服务会在public下

命名空间dev下的配置

Nacos配置的多环境管理第5张

详情

Nacos配置的多环境管理第6张

注:

namespace的配置不是使用名称,而是使用Namespace的ID

补充:

对指定环境的配置,在发布脚本的启动命令中,通过-D传入系统参数的方式来动态指定,会更加灵活

eg:

-Dspring.profiles.active=dev

免责声明:文章转载自《Nacos配置的多环境管理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇用physdiskwrite在VMware虚拟机上安装m0n0wall【转】opencvputText绘字下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Software_programming_Config_HOCON

05:09:37 HOCON githubhttps://github.com/lightbend/config/blob/master/HOCON.md 相较于 XML, JSON, YAML 更强大和更人性化的配置文件格式。HOCON idea 可以从下载 HOCON 插件, 文件格式以 .conf 为后缀。如遇到IDEA 卡住,则重启 IDEA. &...

UE4笔记-Plugins插件应用相关记录

UE4 Plugins插件相关的一些小技巧 Q.UE4中支持自定义插件在Editor中进行配置: 主要思路: 使用UCLASS 和UPROPERTY 的config 宏,UHT会自动将相关的属性值或引用的对象写入到关联的 .ini中.并在在创建时会自动使用Ini的信息进行初始化   Note:     根据于UCLASS 的config的配置,会将配置项写...

使用cwRsync实现windows下文件定时同步

1.参考文献: 使用cwRsync实现windows下文件定时同步(备份) 文件同步工具CwRsync的使用方法及常用命令详解 2.背景: 当前的SCADA架构中,有1台Server,5台FE,还有1台Client。其架构如下图所示: 虽然叫法不同,但是他们的安装文件和配置文件是完全一样的。并且大多数情况下,也建议这些服务器上面的配置文件保持一致,这样只...

git第一节----git config配置

@查看git的版本   git --version @查看git配置信息   git config --list config list分全局和局部,在根目录下执行git config --list显示为全局配置,在git的仓库目录下执行,显示的是全局和局部的配置信息。 @配置git的全局邮箱和用户名使用   git config --global  us...

前端框架Vue自学之Vue CLI(五)

终极目标:掌握和使用Vue(全家桶:Core+Vue-router+Vuex) 本博客目的:记录Vue学习的进度和心得(Vue CLI) 内容:学习和使用Vue CLI2 和 Vue CLI3。如果了解webpack如何一步步配置的,建议可以先看我的前一个博客:前端框架Vue自学之webpack(四)。 正文: Vue CLI 一、Vue CLI 1、前言...

docker --- (入门必读)

容器 容器就是一个视图隔离、资源可限制、独立文件系统的进程集合。所谓“视图隔离”就是能够看到部分进程以及具有独立的主机名等;控制资源使用率则是可以对于内存大小以及 CPU 使用个数等进行限制。容器就是一个进程集合,它将系统的其他资源隔离开来,具有自己独立的资源视图。 docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及...