nacos实现统一配置管理:不同环境的配置切换

发表于:2021-12-27 08:54

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:程序员说书    来源:稀土掘金

  在Spring Boot中,可以基于spring.profiles.active实现不同环境下的配置切换,这在实际工作中用得比较多。很多公司都会有开发环境、测试环境、预生产环境、生产环境等,服务部署在不同环境下,有一些配置是不同的,所以我们希望能够通过一个属性非常方便地指定当前应用部署的环境,并根据不同的环境加载对应的配置。基于spring boot项目的多环境支持配置步骤如下:
  ·在resource目录下根据不同环境创建不同的配置。
  · application-dev.properties
  · application-test.properties
  · application-prod.properties
  实际项目运用:bootstrap.yml配置
  spring:
    profiles:
      active: '@spring.profiles.active@'
    application:
      name: app-center
      version: '@project.version@' # MAVEN中定义的版本号

  spring:
    cloud:
      nacos:
        discovery:
          server-addr: 
          username: 
          password: 
          namespace: 
        config:
          server-addr: 
          username: 
          password: 
          namespace: 
          file-extension: yml
          sharedConfigs:
            - dataId: **-**-datasource.yml
            - dataId: redis配置
            - dataId: rocketMQ配置
            - dataId: mongodb配置

  Resources目录下:
  定义一个application.properties默认配置,在该配置中通过spring.profiles.active=env来指定当前使用哪个环境配置,如果{env}来指定当前使用哪个环境配置,如果env来指定当前使用哪个环境配置,如果{env}的值为prod,表示application-pro.properties。也可以通过设置VM options=-dspring.profiles.active=prod来指定使用的环境配置。
  我们可以发现,基于Nacos Config实现不同环境的切换和本地配置的不同环境切换没有任何区别。
  如果我们需要切换到测试环境,只需要修改spring.profiles.active=test即可。不过这个属性配置是写死在bootstrap.properties文件中的,修改起来显得很麻烦。通过做法:通过-Dspring.profiles.active=${profile}参数来指定环境,以达到灵活切换的目的。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号