谷粒商城实战-25-分布式组件-SpringCloud Alibaba-Nacos配置中心-加载多配置集
文章目录
- 一,拆分配置集
- 二,配置文件中配置多配置集
- 1,引用多配置集
- 2,验证
- 三,多配置集总结
- 1,使用场景
- 2,优先级
这一节介绍如何加载多个配置集。
大多数情况下,我们把配置全部放在一个配置集中即可,但如果配置集非常大,把其拆分为多个配置集更方便管理和维护。
比方说,我们可以把数据库连接相关的信息防止在一个配置集,把Nacos相关的配置放在一个配置集。
一,拆分配置集
把原来配置在一个配置集的配置拆分出来,放在两个配置集。
二,配置文件中配置多配置集
1,引用多配置集
对于上面两个配置集,要通过下面方式引用。
spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[0].group=dev
spring.cloud.nacos.config.ext-config[0].refresh=truespring.cloud.nacos.config.ext-config[1].data-id=nacos-discovery.yml
spring.cloud.nacos.config.ext-config[1].group=dev
spring.cloud.nacos.config.ext-config[1].refresh=true
- 通过
spring.cloud.nacos.config.ext-config[n].data-id
的配置来配置多个DataId 的配置。 - 通过
spring.cloud.nacos.config.ext-config[n].group
的配置来指定dataId所在的组,不明确指定的话使用默认的DEFAULT_GROUP - 通过
spring.cloud.nacos.config.ext-config[n].refresh
的配置来控制该dataId属性变更时,是否动态刷新加载,默认如果不在DEFAULT_GROUP,自动刷新是关闭的,可以通过置为true来手动开启。
需要特别说明的是,使用多配置集时,如果多个配置集有相同的key,比如都配置了端口server.port
,它的优先级关系是 spring.cloud.nacos.config.ext-config[n].data-id
中n
的值越大,优先级越高。
2,验证
首先,重启服务,如果不报错,且能注册到注册中心,说明多配置集的nacos配置起作用了。
其次,访问有数据库逻辑的接口,如果响应正常,说明多配置集的数据库配置起作用了。
http://localhost:7000/coupon/coupon/list
三,多配置集总结
1,使用场景
多环境配置:通过 Data ID 与 profile 实现多环境配置,例如在 bootstrap.yml
中配置 spring.cloud.nacos.config.ext-config
来加载不同环境的数据库配置文件 。
配置共享:在多个服务之间可能存在一些共享的配置,通过 Nacos 控制台配置共享 DataId,然后在应用的 bootstrap.properties
或 bootstrap.yml
中通过 spring.cloud.nacos.config.shared-dataids
加载这些共享配置 。
2,优先级
有个问题,不得不考虑,如果本地有配置,nacos上有默认配置集,还有多配置集。如果这些配置都配置了相同的key,比如server.port
,最终生效的配置属于哪个配置集呢?
spring cloud alibaba nacos config
目前提供了三种配置能力从Nacos拉取相关的配置。
- ① 通过
spring.cloud.nacos.config.shared-datadis
支持多个共享data id的配置。 - ② 通过
spring.cloud.nacos.config.ext-config[n].data-id
的方式支持多个扩展Data Id的配置。 - ③ 通过内部相关规则(应用名、应用名+profile)自动生成的DataId配置。
优先级是:① < ② < ③
即,先读取③,再读取②,最后读取①。
相关文章:

谷粒商城实战-25-分布式组件-SpringCloud Alibaba-Nacos配置中心-加载多配置集
文章目录 一,拆分配置集二,配置文件中配置多配置集1,引用多配置集2,验证 三,多配置集总结1,使用场景2,优先级 这一节介绍如何加载多个配置集。 大多数情况下,我们把配置全部放在一个…...

UART编程
Q:为什么使用串口前要先在电脑上安装CH340驱动? 中断的作用? 环形buffer的作用? static和valitate的作用 三种编程方式简介 也可以通过DMA方式减小CPU资源的消耗 直接把数据在SRAM内存和UART模块进行传输 ,流程: …...

C++:右值引用
右值与左值 在讲解右值引用之前,我们就需要先辨析一下左值与右值的区别。 左值 左值是一个表示数据的表达式,我们可以获取它的地址并且对其赋值,左值可以出现在赋值操作符的左边,但是右值不能。 int i 0; int* p &i; do…...

(算法)硬币问题
问题:有1元,5元,10元,50元,100元,500元的硬币各有C1,C5,C10.C50,C100,C500个。 现在要用这些硬币来支付A元,最小需要多少枚硬币? 该题使用递归算法,利用局部最优解来推导…...

如何隐藏 Ubuntu 顶部状态栏
如何隐藏 Ubuntu 顶部状态栏 Chapter1 如何隐藏 Ubuntu 顶部状态栏Chapter2 Ubuntu增大屏幕可用面积之——自动隐藏顶部状态栏Chapter3 Ubuntu18.04隐藏顶栏与侧栏 Chapter1 如何隐藏 Ubuntu 顶部状态栏 https://www.sysgeek.cn/hide-top-bar-ubuntu/ 准备工作:安…...

【C++】入门基础(引用、inline、nullptr)
目录 一.引用 1.引用的定义 2.引用的特性 3.引用的使用场景 4.const引用 5.引用和指针的区别 二.inline 三.nullptr 一.引用 1.引用的定义 引用不是新定义一个变量,而是给已经存在的变量取一个别名,编译器不会给引用变量开辟内存空间,…...

24/07/10数据结构(5.1213)链表OJ
继续练习题: 7.判断链表是不是回文结构 对于一个链表,设计一个时间复杂度O(n)空间复杂度O(1)的算法,判断是否为回文结果 给定一个链表的头指针A,返回一个bool值代表其是否为回文结构. 测试样例:1->2->2->1 返回:ture bool chkPalindrome(ListNode* A){ …...

C++ 入门基础:开启编程之旅
引言 C 是一种高效、灵活且功能强大的编程语言,广泛应用于系统软件、游戏开发、嵌入式系统、科学计算等多个领域。作为 C 语言的扩展,C 不仅继承了 C 语言的过程化编程特性,还增加了面向对象编程(OOP)的支持ÿ…...

据传 OpenAI秘密研发“Strawberry”项目
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

简单的SQL字符型注入
目录 注入类型 判断字段数 确定回显点 查找数据库名 查找数据库表名 查询字段名 获取想要的数据 以sqli-labs靶场上的简单SQL注入为例 注入类型 判断是数字类型还是字符类型 常见的闭合方式 ?id1、?id1"、?id1)、?id1")等,大多都是单引号…...

HttpClient调用SpringBoot项目的文件上传接口实现文件上传
1.导入httpclient的jar包 这里导入了httpclient、httpmime11 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sch…...

[leetcode]kth-smallest-element-in-a-sorted-matrix 有序矩阵中第k小元素
. - 力扣(LeetCode) class Solution { public:bool check(vector<vector<int>>& matrix, int mid, int k, int n) {int i n - 1;int j 0;int num 0;while (i > 0 && j < n) {if (matrix[i][j] < mid) {num i 1;j;…...

【经典面试题】是否形成有环链表
1.环形链表oj 2. oj解法 利用快慢指针: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; bool hasCycle(struct ListNode *head) {ListNode* slow head, *fast…...

Flask 用 Redis 缓存键值对-实例
Flask 使用起 Redis 来简直就是手到擒来,比 MySQL 简单多了,不需要那么多配置,实际代码就这么多,直接复制就能用。除了提供简单实用的实例以外,本文后面还会简单介绍一下 Redis 的安装与使用,初学者也能一看…...

我的世界1.21多种服务端开服教程,原版/Forge/Fabric/Paper/Mohist...,Minecraft开服教程
Minecraft(MC)1.21版多种服务端开服教程,我的世界1.21服务器搭建教程,MC原版/Forge/Fabric/Paper/Mohist服务端搭建教程,我的世界MOD/插件服开服教程。 本教程使用 Linux系统MCSManager 面板来搭建Minecraft服务器。 …...

docker安装nginx并配置https
参考 docker安装nginx并配置https-腾讯云开发者社区-腾讯云 (tencent.com) 证书的生成 参见:SpringBoot项目配置HTTPS接口的安全访问(openssl配置)_配置接口访问-CSDN博客 步骤 1: 拉取Nginx镜像 docker pull nginx 好使的镜像如下&#x…...

永磁同步电机控制算法--基于 SVM 的无磁链环 DTC
永磁同步电机无磁链环 DTC 通过控制定子磁链交轴分量来直接控制转矩,不再要求控制磁链幅值恒定,省去了传统 DTC 中的磁链环,不仅转矩响应更快,有效抑制了转矩脉动,而且提高了电机功率因数。但无磁链环 DTC 方案仍采用传…...

如何避免在 Docker 容器中遇到 MAC 地址冲突和 IP 地址冲突的问题
在 Docker 容器中遇到 MAC 地址冲突和 IP 地址冲突的问题时,通常是由于 Docker 在分配网络资源时出现了一些问题。虽然这种情况并不常见,但仍有可能发生。以下是一些原因和可能的解决方案: 原因分析 Docker 版本问题:某些 Docke…...

arm64架构下源码编译安装kafka —— 筑梦之路
一般来说,直接使用官方提供的二进制文件即可,没有必要使用源码编译安装的方式,而对于有特殊用途的,选择源码编译安装无疑是更好地选择。比如修改源码实现想要的功能,mirrormaker2保持topic名称不变。 git clone https…...

LabVIEW前面板占满整个屏幕(转)
希望在运行一个LabVIEW程序时,它的前面板能够占据整个屏幕,且不显示Windows的任务栏或其他任何的LabVIEW菜单选项。怎样才能实现这一功能? 您可以通过手动配置或编程的方式实现该功能。 手动配置VI属性 您可以通过以下操作,将…...

Promise.all、any、race和allSettled的相同点与不同点与应用场景
在JavaScript中,Promise对象是一种处理异步操作的方式。它允许我们以一种更优雅的方式来处理异步代码,而不是使用回调函数。在Promise中,有一些方法可以帮助我们更好地管理多个Promise实例,这些方法包括Promise.all、Promise.any、…...

Ubuntu下如何设置程序include搜索路径及链接路径
添加库的include及lib路径 linux下系统默认路径为 /usr/include, /usr/local/include, gcc在编译程序时会按照当前目录路径->系统默认路径->系统环境变量的路径方式去查找,所以当我们想调用的库未安装在系统默认路径时,我们可以通过手动添加环境变…...

FLinkCDC引起的生产事故(二)
背景: 最近在做实时数据的抽取工作,利用FLinkCDC实时抽取目标库Oracle的数据到Doris中,但是在抽取的过程中,会导致目标库的生产库数据库非常卡顿,为了避免对生产环境的数据库造成影响,对生产环境的数据库利…...

【产品经理】WMS多仓调拨转移说明
对于仓储管理来说,越来越多企业开始应用WMS进行系统化的管理,以提升仓库的作业效率。本文作者从业务流程和基础功能两个方面展开介绍,希望对你有帮助。 一、业务流程 。在线下业务流程拓展,仓库不断增多的过程中,由于…...

每日一练:奇怪的TTL字段(python实现图片操作实战)
打开图片,只有四种数字:127,191,63,255 最大数字为255,想到进制转换 将其均转换为二进制: 发现只有前2位不一样 想着把每个数的前俩位提取出来,组成新的二进制,然后每…...

【Java开发实训】day03——方法的注意事项
目录 一、方法的基本概念 二、void和return关键字 三、单一返回点原则 四、static方法使用说明 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于…...

HarmonyOS NEXT:一次开发,多端部署
寄语 这几年特别火的uni-app实现了“一次开发,多端使用”,它这个端指的是ios、安卓、各种小程序这些,而HarmonyOS NEXT也提出了“一次开发,多端部署”,而它这个端指的是终端设备,也就是我们的手机、平板、电…...

Bilibili Android一二面凉经(2024)
BiliBili Android一二面凉经(2024) 笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《BiliBili Android一二面凉经(2024)》。 面试职位: 高级Android开发工程师&…...

数据库内核研发学习之路(一)
已经上了几天班了,开始做一些总结性的工作。 数据库内核研发首当其中的便是环境配置,今天先介绍一下虚拟机之类的环境搭建,在之前已经写过一篇关于VMware搭建虚拟机的博客了,有兴趣可以去看看,这里我再总结一下使用Vi…...

LSTM:深度学习中的时间序列处理大师
LSTM:深度学习中的时间序列处理大师 引言 在深度学习领域,处理时间序列数据是一项极具挑战性的任务。时间序列数据广泛存在于金融、医疗、气象、自然语言处理等多个领域,这些数据不仅具有时间依赖性,还常常伴随着复杂的长期依赖…...