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的值来确定使用哪一个

相关推荐
vx-程序开发1 小时前
springboot农产品运输服务平台---附源码75498
java·javascript·spring boot·python·eclipse·django·php
攻城有术1 小时前
专项攻克——spring、springMVC、springBoot、springCloud的启动流程
spring boot·spring·spring cloud
独行侠影a1 小时前
SpringBoot 分布式锁实战:Redisson 解决订单超卖并发问题
spring boot·分布式·后端
markinmarkin3 小时前
Spring 中有哪些方式可以把Bean 注入到IOC 容器?
java·spring
敲个大西瓜5 小时前
Springboot核心面试题
java·spring boot·后端
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ5 小时前
Spring‑AI Document 对象 JSON 字段详解
人工智能·spring·json
麻雀聊技术6 小时前
一重启 AI 就失忆?用 Spring AI + PostgreSQL 3步搞定“长期记忆”持久化(附完整代码)
java·spring·openai
码农进化录6 小时前
Java 程序员的 AI 进化论 | LangChain4j 入门,Java 开发者的 AI 应用框架
java·spring boot·openai
he___H7 小时前
Spring-Configur注解
java·spring
铃木之影8 小时前
Java 版本 RAG 示例(Spring AI + Milvus)
java·人工智能·spring