解决:Nacos无法获取远程配置数据,导致项目启动各种配置异常

解决:Nacos无法获取远程配置数据,导致项目启动各种配置异常

  • 一·问题描述:
    • 1.项目pom依赖版本:
    • 2.bootstrap.yml配置信息
    • 3.远程配置:默认public命名空间
    • 4.启动报异常,显示没有配置数据源,实际远程已经配置了,也就是说没有成功拉取到远程配置数据
  • 二·问题原因:
    • 1.远程配置文件的DataId没有加`yaml`后缀名,导致项目获取远程配置数据失败,从而引发项目启动异常
  • 三·解决方案:
    • 1.注意SpringCloud、SpringCloudAlibaba、SpringBoot、Nacos的组件版本匹配
      • 1-1 推荐两套版本组合依赖:
      • 1-2 SpringCloudAlibaba与各种组件版本匹配图
      • 1-3 SpringCloud与SpringBoot版本匹配图
    • 2.本地bootstrap.yml配置规范-示例:
    • 3.远程配置文件取名要规范:
      • 3-1 Data ID拼接格式:${prefix} - ${spring.profiles.active} . ${file-extension},
      • 3-2 Group:
      • 3-3 NameSpace(命名空间):
      • 3-4 远程配置文件DataId必须加上`yaml`后缀名:否则会出现获取不到远程配置异常
    • 4.项目启动类配置nacos服务注册发现注解:
  • 四·验证:启动服务成功!![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b320fa8f26054438810586392c1a181d.png)

一·问题描述:

1.项目pom依赖版本:

在这里插入图片描述

2.bootstrap.yml配置信息

在这里插入图片描述

3.远程配置:默认public命名空间

在这里插入图片描述

4.启动报异常,显示没有配置数据源,实际远程已经配置了,也就是说没有成功拉取到远程配置数据

在这里插入图片描述

二·问题原因:

1.远程配置文件的DataId没有加yaml后缀名,导致项目获取远程配置数据失败,从而引发项目启动异常

三·解决方案:

1.注意SpringCloud、SpringCloudAlibaba、SpringBoot、Nacos的组件版本匹配

1-1 推荐两套版本组合依赖:

<properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--    第一套版本组合--><!--        <spring.boot.version>3.0.2</spring.boot.version>--><!--        <spring.cloud.version>2022.0.0</spring.cloud.version>--><!--        <spring.cloud.alibaba.version>2022.0.0.0-RC2</spring.cloud.alibaba.version>--><!--    第二套版本组合--><spring.boot.version>3.3.0</spring.boot.version><spring.cloud.version>2023.0.2</spring.cloud.version><spring.cloud.alibaba.version>2023.0.1.0</spring.cloud.alibaba.version>
</properties><dependencyManagement>
<dependencies><!--springboot 依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>${spring.boot.version}</version><type>pom</type><scope>import</scope></dependency><!--springcloud 依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring.cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--springcloud alibaba 依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring.cloud.alibaba.version}</version><type>pom</type><scope>import</scope></dependency>
</dependencies>
</dependencyManagement>

1-2 SpringCloudAlibaba与各种组件版本匹配图

在这里插入图片描述

1-3 SpringCloud与SpringBoot版本匹配图

在这里插入图片描述

2.本地bootstrap.yml配置规范-示例:

server:port: 9004
spring:application:name: cloud-nacos-config-consumer-9004profiles:#激活dev环境配置active: dev#Springcloud配置cloud:#nacos配置nacos:#配置中心配置config:#nacos配置中心地址:跟注册地址一样,会自动从远程拉取配置文件应用server-addr: 127.0.0.1:8848#配置文件后缀格式file-extension: yaml
#        namespace: Dev-NameSpace
#        group: DEFAULT_GROUP
#        username: nacos
#        password: nacos#服务注册配置discovery:# nacos服务注册中心地址:本应用将会注册在下面这个地址服务上面,nacos本身也是一个单独的服务应用server-addr: 127.0.0.1:8848
#        namespace: Dev-NameSpace
#        group: DEFAULT_GROUP

3.远程配置文件取名要规范:

nacos会自动根据规则从远程配置中心拉取数据:命名空间-分组-DataId,然后再与本地application配置文件整合,从而形成最终配置数据(远程配置 > 本地配置

3-1 Data ID拼接格式:${prefix} - ${spring.profiles.active} . ${file-extension},

  • prefix:默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix 来配置

  • spring.profiles.active:取 spring.profiles.active 的值,即为当前环境对应的 profile

  • file-extension:为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension 来配置

3-2 Group:

Group 默认为 DEFAULT_GROUP,可以通过 spring.cloud.nacos.config.group 来配置,当配置项太多或者有重名时,可以通过分组来方便管理

3-3 NameSpace(命名空间):

NameSpace 默认为 public,可以通过 spring.cloud.nacos.config.namespace 来配置,当配置项太多或者有重名时,可以通过命名空间来方便管理

3-4 远程配置文件DataId必须加上yaml后缀名:否则会出现获取不到远程配置异常

在这里插入图片描述

4.项目启动类配置nacos服务注册发现注解:

在这里插入图片描述

四·验证:启动服务成功!在这里插入图片描述

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

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

相关文章

Mysql随记

对表mysql.user执行DML语句&#xff08;数据操作语言&#xff09;&#xff0c;那么此时磁盘数据较新&#xff0c;需要手动执行flush privileges 语句来覆盖内存中的授权数据。其他的DDL&#xff08;数据操作语言&#xff09;,DQL&#xff08;数据查询语言&#xff09;,DCL(数据…

韦东山嵌入式linux系列-查询方式的按键驱动程序_编写框架

1 LED 驱动回顾 对于 LED&#xff0c; APP 调用 open 函数导致驱动程序的 led_open 函数被调用。在里面&#xff0c;把 GPIO 配置为输出引脚。安装驱动程序后并不意味着会使用对应的硬件&#xff0c;而 APP 要使用对应的硬件&#xff0c;必须先调用 open 函数。所以建议在驱动…

【Pytorch】cumsum的实现逻辑

本文只记录cumsum的实现逻辑的CUDA部分&#xff0c;也即底层调用了CUDA的什么实现算子。 void launch_cumsum_cuda_kernel(const TensorBase& result, const TensorBase& self, int64_t dim) {AT_DISPATCH_ALL_TYPES_AND_COMPLEX_AND2(ScalarType::Half, ScalarType::…

Adobe Character Animator (CH) 安装包软件下载

目录 一、软件简介 二、下载与安装 1. 下载 2. 安装 三、注意事项 1. 硬件要求 2. 兼容性 四、功能介绍 1. 实时面部捕捉 2. 实时语音同步 3. 动作捕捉 五、快捷键操作 CH 提供了一系列快捷键以方便用户快速操作。以下是一些常用的快捷键&#xff1a; 一、软件简介…

django电商用户消费数据分析系统-计算机毕业设计源码20891

摘 要 随着电子商务的快速发展&#xff0c;电商平台积累了大量的用户消费数据。为了更好地理解用户行为、优化商品结构和提升用户体验&#xff0c;本文设计并实现了一个基于Django框架的电商用户消费数据分析系统。 该系统包含后台首页、系统用户&#xff08;管理员&#xf…

Ubuntu Grub引导优化

配置文件 sudo vim /etc/default/grub修改参数 引导菜单等待时间 GRUB_TIMEOUT3自动引导上次选择的系统 如果安装了双系统或多系统&#xff0c;可以考虑配置此参数。 # 此参数默认值为0&#xff0c;引导第一个引导项 GRUB_DEFAULTsaved# 此参数默认没有&#xff0c;需要手…

Hive分布式SQL计算平台

Hive分布式SQL计算平台 一、Hive 概述二、Hive架构三、Hive客户端 1、Hive有哪些客户端可以使用2、Hive第三方客户端 四、Hive使用语法 1、数据库操作2、内部表&#xff0c;外部表3、数据的导入与导出4、分区表5、分桶表6、复杂类型操作7、数据抽样8、Virtual Columns 虚拟列9…

构建数字堡垒:面对微软蓝屏事件的反思与前瞻

目录 引言事件回顾问题解析1、技术缺陷2、安全意识不足3、应急响应机制不健全 预防措施1、加强软件测试2、提升安全意识3、建立应急响应机制4、跨行业合作 未来展望1、人工智能与机器学习2、区块链技术3、法规与政策 结语 引言 2024年的微软蓝屏事件&#xff0c;无疑是对全球I…

Samtec技术科普小课堂 | 一文入门射频连接器~

【摘要/前言】 在本文中&#xff0c;我们将回到基础知识&#xff0c;了解一下什么是射频连接器。如果您是信号完整性专家&#xff0c;请点击阅读原文访问我们的网站视频&#xff0c;通过我们的网络研讨会视频了解教科书上可能找不到的知识。 如果您是电气工程领域的新手&#…

PHP 多线程和异步编程的常见陷阱

本文由 ChatMoney团队出品 在PHP开发中&#xff0c;多线程和异步编程是提高应用性能和响应速度的重要手段。然而&#xff0c;这些技术也带来了许多挑战和陷阱&#xff0c;如共享状态冲突、死锁、超时、资源泄漏以及调试困难等。本文将详细探讨这些陷阱&#xff0c;并提供相应的…

pycharm git 新建备忘

git 提交时出现如下错误&#xff1a; Committer identity unknown *** Please tell me who you are. Run git config --global user.email "youexample.com" git config --global user.name "Your Name" to set your accounts default identity. Omit…

SQL中的函数

目录 前言 一、系统内置函数 1、数学函数 2、日期和时间函数 3、聚合函数 4、字符串函数 二、自定义函数 1、标量函数的创建与调用 2、内嵌表值函数的创建与调用 3、多语句表值函数的创建与调用 前言 函数是由一个或多个 T-SQL 语句组成的子程序&#xff0c;可用于封…

浅谈监听器之聚合报告

浅谈监听器之聚合报告 “聚合报告”&#xff08;Aggregate Report&#xff09;是JMeter中最常用且功能强大的监听器之一&#xff0c;它提供了一种简洁而全面的方式来汇总和分析测试结果。本文档旨在深入解析聚合报告的特性和使用方法&#xff0c;帮助用户更好地理解和应用这一…

【Linux】条件变量及生产者消费者模型

为什么要将这两者放在一起进行呢&#xff1f; 主要是因为生产消费与条件变量关系密切&#xff0c;正好相辅相成。 目录 条件变量&#xff1a;条件变量的引出&#xff1a;条件变量的解释与接口&#xff1a;测试代码&#xff1a; 生产者消费者模型&#xff1a;概念&#xff1a;代…

opengaussdb在oepnEuler上安装

安装前提&#xff1a; 软件环境&#xff1a;openEuler 20.03LTS 个人开发者最低配置2核4G&#xff0c;推荐配置4核8G 数据库版本&#xff1a;openGauss-5.0.2-openEuler-64bit-all.tar.gz 数据库下载地址&#xff1a; https://docs-opengauss.osinfra.cn/zh/docs/5.0.0/docs/In…

OpenSNN推文:百度沈抖:深度拥抱人工智能+,加速发展新质生产力,共创智能时代新未来

在中国联通合作伙伴大会上&#xff0c;百度集团执行副总裁、百度智能云事业群总裁沈抖发表了一场题为“深度拥抱人工智能&#xff0c;加快发展新质生产力”的精彩演讲&#xff0c;深入探讨了大模型技术在当前科技浪潮中的核心地位及其对企业生产力的深远影响。 沈抖指出&#…

【LeetCode】86.分割链表

1. 题目 2. 分析 这题没有太大难度&#xff0c;主要是熟悉代码。 3. 代码 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def partition(self, he…

Linux系统编程-文件系统

目录 什么是Linux文件系统 文件系统的职责 存储介质抽象 inode&#xff1a;文件系统的核心 文件分配策略 目录结构 文件系统布局 日志和恢复机制 目录权限 粘滞位(t位)&#xff1a; 硬链接和符号链接 硬链接的特点&#xff1a; 创建硬链接&#xff1a; 符号链接的…

MySQL补充性文件

数据库专属单词 authentication #身份验证 delimiter #分隔符 character #字符集 collate #整理。 指定字符集的排序规则 unicode #统一码 flush #刷新 privileges #特权 string #串 set #设置 use #使用 zerofill #修饰符。0可以填补输出的值 unsigned #修饰符。无符…

德国云手机:企业移动办公解决方案

在现代商业环境中&#xff0c;移动办公已经成为一种趋势。德国云手机作为一种高效的解决方案&#xff0c;为企业提供了强大的支持。本文将探讨德国云手机如何优化企业的移动办公环境。 一、德国云手机的主要优势 高灵活性 德国云手机具有高度的灵活性&#xff0c;能够根据用户需…