SpringCloud快速入门(7)---- 数据隔离

需求描述:

  • 项目有多套环境:dev,test,prod
  • 每个环境的每个服务配置都不相同
  • 项目可以通过切换环境加载环境的配置

nacos提供了以下三个概念

  • 命名空间(Namespace): 环境隔离最大粒度隔离,**不同命名空间数据完全独立,**对应 dev /test/prod 三套环境
  • **分组(Group):**配置分组同一环境内,按业务 / 模块分组,区分不同业务域(可选)
  • **数据集(Data ID):**配置文件具体的配置文件,一个服务对应一个,对应每个微服务的配置文件

这三者的关系如下图所示:

命名空间区分不同环境,分组隔离不同业务,数据集代表配置

这里我们创建三个命名空间:

在三个命名空间中分别创建了4个配置

配置导入:

复制代码
#配置命名空间
spring.cloud.nacos.config.namespace=dev

#从nacos获取配置,多个配置使用,分隔,指定分组使用group=xxx
spring.config.import=nacos:common.properties?group=order,nacos:database.properties?group=order

还有种情况,如果不同环境所需得配置文件数目不一样可以这么写:

java 复制代码
# 服务端口
server:
  port: 8000


spring:
  profiles:
    active: test
  application:
    name: servers-order
  # nacos 配置
  cloud:
    nacos:
      # 注册中心
      discovery:
        server-addr: 127.0.0.1:8848
        group: em
        cluster-name: ChenDu
      # 配置中心
      config:
        #选取spring.profiles.active的值,没有默认选择dev
        namespace: ${spring.profiles.active:dev}
        #关闭导入检查
        import-check:
          enabled: false


# 开发环境
---
spring:
  config:
    activate:
      on-profile: dev
    import:
      - nacos:common.properties?group=order

# 测试环境
---
spring:
  config:
    activate:
      on-profile: test
    import:
      - nacos:database.properties?group=order


#生产环境
---
spring:
  config:
    activate:
      on-profile: dev
    import:
      - nacos:common.properties?group=order
      - nacos:database.properties?group=order

---是yaml提供的语法,可以把多个配置写进一个文件,使用时,通过spring.profiles.active的值来确定使用哪一个

相关推荐
独自归家的兔2 小时前
OCPP 1.6 协议详解:GetLocalListVersion 获取本地列表版本指令
java·后端·物联网·spring·ocpp1.6
ShadowSmartMicros4 小时前
OpenFein的get请求无参数变post详解
spring cloud·openfein
无人不xiao5 小时前
springBoot 实现 接口进度条
java·spring boot·后端
smileNicky5 小时前
Docker 部署 SpringBoot 项目超详细教程
spring boot·docker·容器
largecode6 小时前
如何让电话显示店名?来电显示店铺名称,提升有效接通率
java·开发语言·spring·百度·学习方法·业界资讯·twitter
xuhaoyu_cpp_java6 小时前
SpringMVC学习(五)
java·开发语言·经验分享·笔记·学习·spring
HLAIA光子6 小时前
这些Spring Boot写法已经过时了!
spring boot·后端
i220818 Faiz Ul6 小时前
宠物猫之猫咖管理系统|基于java + vue宠物猫之猫咖管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·宠物猫之猫咖管理系统
i220818 Faiz Ul6 小时前
二手交易系统|基于springboot + vue二手交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·二手交易系统