SpringCloud Alibaba 学习教程8-nacos配置隔离多环境管理

一、在Nacos中实现多环境管理

1、用配置集ID(Data ID)名称来区分不同的环境

2、用配置组(group)来区分不同的环境

3、用命名空间(namespace)来区分不同的环境

二、通过Data ID命名来区分环境

没有指定服务的环境名称spring.profiles.active,dataId 的完整格式如下:

${spring.application.name}.${ spring.cloud.nacos.config.file-extension}

指定服务的环境名称spring.profiles.active,dataId 的完整格式如下:

${prefix}-${spring.profiles.active}.${file-extension}

prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置

spring.profiles.active 即为当前环境对应的 profile

file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

nacos配置列表中建立account-service-dev.yamlaccount-service-pro.yam

修改配置文件

server:
  port: 8010
spring:
  application:
    name: account-service
  profiles:
    active: dev
  cloud:
    nacos:
      config:
        server-addr: 192.168.2.6:8001
        file-extension: yaml
      discovery:
        server-addr: 192.168.2.6:8001

创建一个TestController接口,方便用于调试刮观察结果

系统指定环境为dev启动,调用接口

三、通过group区分环境

分别建立DEV_GROUPPRO_GROUP

修改配置文件,指定spring.cloud.nacos.config.group的值

server:
  port: 8010
spring:
  application:
    name: account-service
  cloud:
    nacos:
      config:
        server-addr: 192.168.2.6:8001
        file-extension: yaml
        group: DEV_GROUP
      discovery:
        server-addr: 192.168.2.6:8001

spring.cloud.nacos.config.group指定为 DEV_GROUP调用接口

spring.cloud.nacos.config.group指定为 PRO_GROUP调用接口

 

四、通过Namespace区分

在nacos命名空间中根据实际需要创建命名空间

在配置列表不同命名空间下分别创建account-service.yaml

修改配置文件,指定spring.cloud.nacos.config.namespace的属性值

server:
  port: 8010
spring:
  application:
    name: account-service
  cloud:
    nacos:
      config:
        server-addr: 192.168.2.6:8001
        file-extension: yaml
        namespace: 67a7c0ea-a8fc-41cb-a24b-c1bb772553b9
      discovery:
        server-addr: 192.168.2.6:8001

指定spring.cloud.nacos.config.namespace命名空间pro的id,调用接口

指定spring.cloud.nacos.config.namespace命名空间test的id,调用接口

不指定spring.cloud.nacos.config.namespace默认为public,调用接口

五、总结一下

通过上面三种方案的介绍,:

DataID: 适用于项目不多,服务量少的情况。

Group:实现方式简单,但是容易与DataID方案发生冲突,仅适合于本地调试

Namespace:实现方式简单,配置管理简单灵活,同时可以结合DataID共同使用,推荐这种方案

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值