Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解

前情回顾:

  • 《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》
  • 《Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)》
  • 《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》

上一篇,我们学习了如何在Nacos中创建配置,以及如何使用Spring Cloud Alibaba的Nacos客户端模块来加载配置。在入门例子中,我们只配置了Nacos的地址信息,没有配置任何其他与配置加载相关的其他内容。所以,接下来准备分几篇说说大家问的比较多的一些实际使用的问题或疑问。

加载规则

在《Spring Cloud Alibaba基础教程:使用Nacos作为配置中心》一文中,我们的例子完全采用了默认配置完成。所以,一起来看看Spring Cloud Alibaba Nacos模块默认情况下是如何加载配置信息的。

首先,回顾一下,我们在入门例子中,Nacos中创建的配置内容是这样的:

  • Data ID:alibaba-nacos-config-client.properties
  • Group:DEFAULT_GROUP

拆解一下,主要有三个元素,它们与具体应用的配置内容对应关系如下:

  • Data ID中的alibaba-nacos-config-client:对应客户端的配置spring.cloud.nacos.config.prefix,默认值为${spring.application.name},即:服务名
  • Data ID中的properties:对应客户端的配置spring.cloud.nacos.config.file-extension,默认值为properties
  • Group的值DEFAULT_GROUP:对应客户端的配置spring.cloud.nacos.config.group,默认值为DEFAULT_GROUP

在采用默认值的应用要加载的配置规则就是:Data ID=${spring.application.name}.propertiesGroup=DEFAULT_GROUP

下面,我们做一些假设例子,方便大家理解这些配置之间的关系:

例子一:如果我们不想通过服务名来加载,那么可以增加如下配置,就会加载到Data ID=example.propertiesGroup=DEFAULT_GROUP的配置内容了:

spring.cloud.nacos.config.prefix=example

例子二:如果我们想要加载yaml格式的内容,而不是Properties格式的内容,那么可以通过如下配置,实现加载Data ID=example.yamlGroup=DEFAULT_GROUP的配置内容了:

spring.cloud.nacos.config.prefix=example
spring.cloud.nacos.config.file-extension=yaml

例子三:如果我们对配置做了分组管理,那么可以通过如下配置,实现加载Data ID=example.yamlGroup=DEV_GROUP的配置内容了:

spring.cloud.nacos.config.prefix=example
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.group=DEV_GROUP

深入思考

上面,我们具体介绍了在Nacos中添加的各种配置与Spring Cloud应用中客户端配置的对照关系。对于spring.cloud.nacos.config.prefixspring.cloud.nacos.config.file-extension来说,没有太多的花样可以去揣摩,大部分用户默认配置就可以使用,或者通过spring.cloud.nacos.config.file-extension修改下配置格式的后缀。

但是对于spring.cloud.nacos.config.group的配置来说,还是可以派一些特殊的作用,比如:用它来区分不同的产品组下各个应用的配置内容(解决可能应用名冲突的问题)、或者用它来区分不同用途的配置内容、再或者用它来区分不同环境的配置(Nacos下的配置纬度很多,我们可以通过不同的手段来实现多环境的配置,后面会专门写一篇如何实现多环境的配置)等。

如果您对spring.cloud.nacos.config.group还有什么其他妙用,欢迎留言分享您的使用方案。

参考资料

  • Nacos官方文档

代码示例

本系列教程的代码案例,都可以通过下面的仓库查看:

  • Github:https://github.com/dyc87112/SpringCloud-Learning/
  • Gitee:https://gitee.com/didispace/SpringCloud-Learning/

如果您对这些感兴趣,欢迎star、follow、收藏、转发给予支持!

以下专题教程也许您会有兴趣

  • Spring Boot基础教程
  • Spring Cloud基础教程

money.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 881. 救生艇(贪心,双指针)

1. 题目 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1: 输入:peopl…

【报名开启】CCKS 2022教科书示意图问答任务

赛题背景示意图是一种高度抽象的知识表达载体,常由矩形、圆形等几何形状和箭头、折线等逻辑符号组成,广泛被应用于教科书、百科、知识博客等教育场景。在上述场景中,学习者常通过视觉问答的形式来判断对知识点的掌握情况,即&#…

以4%参数量比肩GPT-3!Deepmind 发布检索型 LM,或将成为 LM 发展新趋势!?

文 | ZenMoore编 | 小轶GPT3 一声枪响,给 NLP 带来了大模型风潮。这么长时间过来,无论是中文还是英文,模型越做越大。当然,这确实是符合逻辑的,因为如果以人脑为向导的话,那么多神经元,不得不需…

Spring Cloud Alibaba基础教程:使用Nacos作为配置中心

通过本教程的前两篇: 《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)》 我们已经学会了,如何利…

LeetCode 1020. 飞地的数量(图的BFS/DFS)

文章目录1. 题目2. 解题2.1 BFS2.2 DFS1. 题目 给出一个二维数组 A,每个单元格为 0(代表海)或 1(代表陆地)。 移动是指在陆地上从一个地方走到另一个地方(朝四个方向之一)或离开网格的边界。 …

论文浅尝 | ISEEQ: 利用动态元信息检索和知识图谱的资讯搜索式问题生成器

笔记整理:侯哲衡,东南大学硕士,研究方向为知识图谱问答、自然语言生成。动机对话资讯搜索是在智能问答中一个新兴研究领域。对话资讯搜索旨在根据通过用户查询自动询问资讯搜索式问题(information-seeking questions,I…

浅谈点击信号对搜索的影响

文 | bytecoder源 | 知乎背景过去一周,我们探讨了搜索系统最核心的指标以及如何通过实验的方式来判断策略的好坏。但是影响一个实验的好坏除去策略本身的影响之外,还会受到一些反直觉的因素的影响;之前在做搜索,尤其是搜索系统成熟…

Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)

通过《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBalancerClient接口来获取某个服务的具体实例,并根据实例信息来发起服务…

CCKS 2022 | 如何通过“说一句话”精准获取数据?恒生发布金融NL2SQL评测任务

某投资者登录券商理财APP,想要查找最近两年上市的公司,并按照最新的市值进行排序。然而他很难直接找到结果,需要经过层层筛选才能大致找到相关结果。有没有更简便的方式来查找数据?如果说一句话或者打一小段文字后,就能…

AI从业几年还不具备提出新模型的技术能力?看这个就够了!

AI是一门入门简单,但想深入却很难的学科,这也是为什么AI高端人才一直非常紧缺的重要原因。在AI领域技术领域,我们可以说机器学习功底决定了一个人的上限也不为过。为什么?机器学习就像物理学中的数学,如果你对数学没有…

Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0

昨晚Nacos社区发布了第一个生产级版本:0.8.0。由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为基础。 升级的理由 如Nacos官方的发布文…

LeetCode 1016. 子串能表示从 1 到 N 数字的二进制串(bitset)

1. 题目 给定一个二进制字符串 S(一个仅由若干 ‘0’ 和 ‘1’ 构成的字符串)和一个正整数 N,如果对于从 1 到 N 的每个整数 X,其二进制表示都是 S 的子串,就返回 true,否则返回 false。 示例 1&#xff…

论文浅尝 | KM-BART:用于视觉常识生成的知识增强多模态BART

笔记整理:陈子强,天津大学硕士动机视觉语言模型早期集中在纯理解任务(例如,VQA视觉问答),尽管在理解任务上取得了先进的性能,却很少关注多模态生成任务。当前的预训练任务例如,掩码语…

AllenAI | 用GPT-3帮助增建数据,NLI任务直接提升十个点!?

文 | iven编 | 小轶用机器构建数据集,这件事可能比机器学习诞生的还要早,很多人做过很多工作。怎样让机器参与进来?前人的工作可以分成两类思路:一类是以远程监督为代表,让机器来标注,主要目的在于得到更多…

论文浅尝 | CLIP-Event: 用事件结构连接文本和图像

笔记整理:康婧淇,东南大学硕士,研究方向为多模态事件抽取、自然语言处理。动机视觉语言预训练模型通过理解图像和文本之间的排列组合,在支持多媒体应用方面取得了巨大成功。虽然现有的视觉语言预训练模型主要侧重于理解图像中的物…

LeetCode 402. 移掉K位数字(贪心,单调栈)

1. 题目 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。 注意: num 的长度小于 10002 且 ≥ k。 num 不会包含任何前导零。 示例 1 : 输入: num "1432219", k 3 输出: "1219" 解释: 移除掉…

Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少团队的支持;同时,由于Spring …

忙累了躺平,躺醒后该干点啥

文 | 一只菜鸡前几天刷到 微调 的一些碎碎念,觉得自己的2021年还是有蛮多收获的,于是在各位卖萌屋小伙伴的鼓励下,就有了本文。收获很多,我从中挑选出来自我感觉对读者来说比较有用的三点。1. 放低期待,学会适当躺平我…

论文浅尝 | P-Adapters: 从具有不同提示的语言模型中鲁棒地提取事实信息

笔记整理:田玺,浙江大学硕士研究生。研究方向:知识图谱、自然语言处理论文地址:https://openreview.net/forum?idDhzIU48OcZh,录用于ICLR2022摘要之前的工作发现,从大型语言模型(LLMs&#xff…

LeetCode 470. 用 Rand7() 实现 Rand10()(随机概率)

1. 题目 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。 不要使用系统的 Math.random() 方法。 示例 1: 输入: 1 输出: [7]示例 2: 输入: 2 输出: [8,4]示例 3: 输入: 3 输出: [8,1,10]提示: rand…