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

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=
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实现

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

不同的命名空间下,可以存在相同的GroupData 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配置的多环境管理的更多相关文章

  1. Spring Cloud Alibaba基础教程:Nacos配置的多环境管理

    前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...

  2. Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置

    前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...

  3. SpringBoot使用Nacos配置中心

    本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心. 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计.它可以帮助您轻松构建云 ...

  4. Nacos配置中心

    本文介绍spring cloud 集成 nacos案例 官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html](https://nacos.io/zh ...

  5. 微服务之Nacos配置中心源码解析(二)

    Nacos配置中心源码解析 源码入口 ConfigFactory.createConfigService ConfigService configService = NacosFactory.crea ...

  6. nacos配置服务入门

    1.nacos服务端部署 参见官方文档:https://nacos.io/zh-cn/docs/quick-start.html 2.nacos配置中心功能使用 在pol文件中添加依赖: 在启动类中使 ...

  7. Spring Cloud 系列之 Alibaba Nacos 配置中心

    Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Service ...

  8. Nacos配置中心使用

    在系统开发过程中,开发者通常会将一些需要变更的参数.变量等从代码中分离出来独立管理,以独立的配置文件的形式存在.目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进 ...

  9. 微服务从nacos配置中心获得配置信息

    一,安装nacos, 略 二,创建父工程和微服务工程 service1, service2,以idea为例 1, new -> project -> Maven -> 填写group ...

随机推荐

  1. opencv 图像旋转

    理论 http://www.cnblogs.com/wangguchangqing/p/4045150.html 翻开任意一本图像处理的书,都会讲到图像的几何变换,这里面包括:仿射变换(affine ...

  2. Python-绘制3D柱形图

    Python-绘制3D柱形图 本文主要讲解如何使用python绘制三维的柱形图,可以得到图1所示的效果. 图1 源代码如下: import numpy as np import matplotlib. ...

  3. Java学习——注解

    Java学习——注解 摘要:本文主要介绍了Java开发常用的注解,以及如何自定义注解. 部分内容来自以下博客: https://www.cnblogs.com/Qian123/p/5256084.ht ...

  4. shiro加密算法

    第一节的时候我介绍过,shiro有很多加密算法,如md5和sha,而且还支持加盐,使得密码的解析变得更有难度,更好的保障了数据的安全性. 这里我们要介绍的是md5算法,因为比较常用.首先我们来看看md ...

  5. maven 学习---NetBeans IDE集成Maven

    NetBeans6.7更新版本已经内置对Maven支持.如遇以前的版本,Maven插件在插件管理器中可用.我们正在使用NetBeans在这个例子中使用6.9. 在NetBeans一些特点如下 您可以从 ...

  6. maven 学习---Maven项目文档

    本教程将教你如何一步到位创建应用程序的文档.因此,让我们开始,到  C:/MVN 创建java应用程序consumerBanking. OpenconsumerBanking文件夹,然后执行以下命令m ...

  7. 4.InfluxDB-InfluxQL基础语法教程--基本select语句

    本文翻译自官网,官网地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/) 基本语法如下: SE ...

  8. Oracle client 安装、配置

     一.安装 链接: https://pan.baidu.com/s/1Yph6hiNkCJsApAzu_Vx2ew 提取码: r9ye 二.配置 1.控制面板\所有控制面板项\管理工具\数据源(ODB ...

  9. 1_ZedBoard开发板测试

    启动 将SD卡插入电脑进行格式化 格式化时,要将SD卡格式化为FAT32文件系统.块大小格式化为4096字节时后面会出现无法启动的情况,可以先复现一下这个错误.块大小我选择4096字节. 然后将Zed ...

  10. CRT&EXCRT学习笔记

    非扩展 用于求解线性同余方程组 ,其中模数两两互质 . 先来看一看两个显然的定理: 1.若 x \(\equiv\) 0 (mod p) 且 y \(\equiv\) 0 (mod p) ,则有 x+ ...