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

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

最新文章

  1. 【jQuery】选择器
  2. mac下xampp的mysql无法自动启动
  3. Mvc视图的那些事
  4. hdu2068RPG的错排
  5. 用CSS让未知高度内容垂直方向居中
  6. codevs 1360 xth砍树 线段树不能再水的题了
  7. linux命令:cat
  8. 使用JavaScript获取Request中参数的值
  9. Sort--冒泡排序
  10. Struts2框架具体解释
  11. beanutils中jdbc
  12. C之多线程(例子很不错)
  13. 0428css样式
  14. Ocelot中文文档-服务发现
  15. C# System.IO.StreamWriter
  16. #考研笔记#计算机之word问题
  17. MongoDB:数据导入CSV文件之错误记录
  18. ubuntu下gedit和vim输入中文和中文显示
  19. spring中的BeanFactory与ApplicationContext的作用和区别
  20. Spring Boot—04文件上传

热门文章

  1. 整理:VS常用快捷键
  2. Xamarin移动开发备忘
  3. python安装扩展”unable to find vcvarsall.bat“的解决办法
  4. 面向对象的六大原则之 接口隔离原则——ISP
  5. linux下sendmail
  6. iOS 快速打包方法
  7. vlan技术简单了解
  8. java基础类型的byte为长度
  9. c# list集合简单快捷取随机
  10. 其他综合-Cobbler无人值守安装系统 CentOS 7