当前位置: 首页 > news >正文

Nacos配置中心和数据隔离在idea中的实现

Nacos

配置中心

配置中心和idea开发环境配置的关系:

nacos身为注册中心和配置中心,它所进行的配置在和微服务的配置情况下,我们需要了解到,实际上是有先后的关系的,进行配置中心的配置的时候,遵循着后载入优先,外部优先,也就是说在idea使用多个配置的时候,导入顺序决定覆盖规则,后导入的配置会覆盖先导入的配置

数据隔离

我们在进行项目开发的时候,是有多种配套环境的dev,test,prod,每个微服务,使用同一种配置,在每套环境之下,这个配置值是不一样的,比方说我们从测试环境到生产环境,我们只需要进行环境的切换,就可以加载出新的环境配置,从而实现数据隔离的配置。

nacos中有这Namesoace名称空间,名称空间下面有很多的分组Group,分组下面有很多的数据集Data-id这样就可以实现我们的需求,当我们进行环境的切换的时候进行相应的激活就可以了。

在我们实现nacos进行配置的时候按照上面的图,先进行命名空间的创建:

命名空间创建之后我们就可以进行分组,比方说product和order进行分组,让我们可以进行配置的设置。

在我们进行配置的时候需要记住它们之间的层层关系:

在我们的idea里面可以这样进行设置,当我们经过下面的配置之后就可以实现我们配置的实现,选择我们相应环境下的配置:

server:port: 8080
spring:profiles:active: devapplication:name: service-ordercloud:nacos:server-addr: 127.0.0.1:8848config:import-check:enabled: falsenamespace: ${spring.profiles.active:dev}
​
---
spring:config:import:- nacos:common.properties?group=order- nacos:database.properties?group=orderactivate:on-profile: dev
---
spring:config:import:- nacos:common.properties?group=order- nacos:database.properties?group=orderactivate:on-profile: prod
---
spring:config:import:- nacos:common.properties?group=order- nacos:database.properties?group=orderactivate:on-profile: test

总结:

注册中心:

1.导入spring-cloud-starter-alibaba-nacos-discovery依赖,配置nacos地址

2.@EnableDiscoveryClient开启服务发现功能。

扩展: 1.DiscoveryClient 获取服务实例列表

2.LoadBalancerClient 负载均衡选择一个实例(需要引入 spring-cloud-starter-loadbalancer)

3.RestTemplate 可以发起远程调用

配置中心

1.引|入 spring-cloud-starter-alibaba-nacos.config 依赖,配置Nacos地址

2.添加 数据集(data-id),使用spring.config.import 导入数据集

3.@Value + @RefreshScope 取值 + 自动刷新

4.@ConfigurationProperties批量绑定自动刷新

5.NacosConfigManager 监听配置变化

扩展:配置优先级;namespace区分环境、group区分微服务、 data-id区分配置 实现 数据隔离+环境切换

http://www.lryc.cn/news/611653.html

相关文章:

  • R4周打卡——Pytorch实现 LSTM火灾预测
  • Ansys Discovery 2025R2的主要增强功能:CFD仿真的亮点
  • 批量打印Excel条形码
  • 西门子PLC基础指令6:读取时钟指令、设置时钟指令、使能含义与注意
  • 《动手学深度学习》读书笔记—9.5机器翻译与数据集
  • miniExcel一个对象加一个对象列表导出
  • 前端全栈修炼手册:从 Vue3 到工程化的进阶之路
  • 线上Linux服务器的优化设置、系统安全与网络安全策略
  • 移动商城平台适配:ZKmall开源商城鸿蒙 / 小程序端开发要点
  • django permission_classes = [AllowAny] 如何限制到具体接口
  • 时间轮算法
  • Java学习第一百一十一部分——Jenkins(二)
  • docker-compose快速部署启动file beat+ELK
  • Git 分支管理:从新开发分支迁移为主分支的完整指南
  • Agent安全机制:权限控制与风险防范
  • 商派小程序商城(小程序/官网/APP···)的范式跃迁与增长再想象
  • C语言基础_排序算法和二分法查找
  • GROUP BY与ORDER BY的索引优化方法
  • 脑洞大开——AI流程图如何改变思维?
  • 深入解析Java NIO在高并发场景下的性能优化实践指南
  • 企业网络安全中人工智能(AI)的影响
  • 使用MatterJs物理2D引擎实现重力和鼠标交互等功能,有点击事件(盒子堆叠效果)
  • HTML应用指南:利用GET请求获取全国OPPO官方授权体验店门店位置信息
  • nlp-词汇分析
  • easyExcel 读取有合并单元格数据
  • EasyExcel高效工具类:简化Excel导入导出,支持多Sheet与枚举转换
  • QT----QAxObject在子线程中调用,发现excel指针为空
  • Excel制作尖刀图,直观展示业绩涨跌
  • EXCEL-业绩、目标、达成、同比、环比一图呈现
  • 从“T+1”到“T+0”:基于SQL构建MES到数据仓库的数据采集通道