springboot3.x集成nacos踩坑,并实现多环境配置

一、nacos安装部署

springboot3.x集成Nacos首先需要将Nacos从1.x升级到2.x,建议直接安装2.x版本,手动将1.x的配置信息迁移到2.x中,先并行一段时间,待全部迁移完成稳定运行之后再停掉1.x,升级和安装、操作请查看官方文档Nacos 2.0 升级文档 | Nacos,权限配置请参照Authorization | Nacos

nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。

端口与主端口的偏移量描述
98481000客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
98491001服务端gRPC请求服务端端口,用于服务间同步等
7848-1000Jraft请求服务端端口,用于处理服务端间的Raft相关请求

如果存在防火墙或者nginx端口转发问题,需要进行相应的端口暴露配置。如在nginx中,在已经暴露8848(x)的基础上,需要额外暴露9848(x+1000)9849和7848端口为服务端之间的通信端口,请勿暴露到外部网络环境和客户端测。

二、springboot3.x集成nacos

1、添加依赖

        <!--nacos配置中心-->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>0.3.0-RC</version>
        </dependency>

注意: 版本 0.3.x.RELEASE 对应的是 Spring Boot 3.x 版本,版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。

2、配置文件中添加nacos配置

(1)单个环境配置
nacos:
  config:
    #是否开启Nacos配置预加载
    bootstrap:
      enable: true
    data-id: demo-boot-v3
    type: yaml
    group: DEFAULT_GROUP
    auto-refresh: true
    server-addr: 127.0.0.1:8848
    namespace: 0f72f102-23c1-4176-869f-91f31c42a07e
    bootstrap:
      log:
        enable: true
    username: nacos
    password: nacos
(2)多环境配置,以开发环境dev和生产环境pro为例
spring:
  profiles:
    #指定要加载的配置
    active: dev

nacos:
  config:
    #是否开启Nacos配置预加载
    bootstrap:
      enable: true
    data-id: demo-boot-v3
    type: yaml
    group: DEFAULT_GROUP
    auto-refresh: true

---
#开发环境dev
spring:
  config:
    activate:
      on-profile: dev
nacos:
  config:
    #nacos的地址,替换成测试环境的实际地址即可
    server-addr: 127.0.0.1:8848
    #命名空间,替换为测试环境的实际命名空间即可
    namespace: 0f72f102-23c1-4176-869f-91f31c42a07e    
    bootstrap:
      log:
        enable: true
    #如果开启认证的话需要用户名和密码
    username: nacos
    password: nacos

---
#生产环境pro
spring:
  config:
    activate:
      on-profile: pro
nacos:
  config:
    #nacos的地址,替换成线上的实际地址即可
    server-addr: 127.0.0.1:8848
    #命名空间,替换为线上的实际命名空间即可
    namespace: 0f72f102-23c1-4176-869f-91f31c42a07e
    bootstrap:
      log:
        enable: true
    #如果开启认证的话需要用户名和密码
    username: nacos
    password: nacos

3、启动项目,踩坑

完成前面的工作之后,正常情况下nacos的集成就算成功了,但是,并没有想象的那么顺利,我们启动项目,意外发生了,控制台报错,项目启动失败!翻到最前面。报错内容如下:

java.lang.NoSuchMethodError: org.yaml.snakeyaml.constructor.SafeConstructor: method 'void <init>()' not found

自动集成的org.yaml.snakeyaml依赖包中相关类里面的方法不存在,真是太难了,于是尝试替换该依赖包,经过多个版本尝试,在pom.xml里面添加如下版本的依赖包进行覆盖后,终于能正常启动了!

        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>1.32</version>
        </dependency>

大功告成!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

了解开源可视化表单的主要优势

为什么可视化表单深受大家喜爱&#xff1f;这就需要了解开源可视化表单的优势和特点了。在流程化办公深入人心的今天&#xff0c;提高办公协作效率早已成为大家的发展目标&#xff0c;低代码技术平台、开源可视化表单是提升办公协作效率的得力助手&#xff0c;一起来看看它的优…

2024新版微信小程序登录注册功能的实现,授权登录,退出,缓存讲解,小程序个人中心的实现,修改头像 图片上传功能的实现 新版登陆注册,头像上传,修改昵称

新版小程序授权登录注册获取头像昵称文档 一&#xff0c;无法获取用户的微信头像和昵称 最近好多同学在学习石头哥小程序课程的时候&#xff0c;遇到了下面这样的问题&#xff0c;在小程序授权获取用户头像和昵称时&#xff0c;获取到的是下面这样的。 到底是什么原因导致的…

Spring SPI介绍

1.什么是SPI (面试题) SPI全名Service Provider interface&#xff0c;翻译过来就是“服务提供接口”&#xff0c;再说简单就是提供某一个服务的接口&#xff0c; 提供给服务开发者或者服务生产商来进行实现。 Java SPI 是JDK内置的一种动态加载扩展点的实现。 这个机制在一…

docker——启动各种服务

1.Mysql 2.Redis 3.nginx 4.ES 注意&#xff1a;ES7之后环境为 -e ELASTICSEARCH_HOSTS http://ip地址:9200

VS Code引入ECharts

Charts是一个使用 JavaScript 实现的开源可视化库&#xff0c;涵盖各行业图表&#xff0c;提供了丰富的图表类型和交互能力。&#xff08;摘自菜鸟教程&#xff09; 下面我们来介绍一下VS Code引入ECharts的相关操作 检查电脑是否已经安装了Java语言的软件开发工具包 ECharts…

每日一题-环形链表的约瑟夫问题

&#x1f308;个人主页: 会编辑的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” /*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param n int整型 * param m int整型 * return int整型*/ typedef struct…

计算机考研|四个月跨考408详细教程(可实操)

4个月准备408时间是相当的紧张.... 数学也是一大头&#xff0c;所以要做的就是最高效汲取分数&#xff0c;不做无用功&#xff01; 在去年备考期间我自己总结了一套408的复习方法&#xff0c;408和数学同时进行&#xff0c;两不耽误&#xff0c;在这里分享给你&#xff01;&a…

喜报|炼石免改造数据安全入选上海网安产业创新大会优秀案例

近日&#xff0c;上海网络安全产业创新大会隆重召开&#xff0c;上海普陀区委副书记、区长肖文高&#xff0c;上海市经济和信息化委员会总工程师葛东波出席并致辞&#xff0c;普陀区副区长肖立出席。大会以“产业赋能、生态打造”为主题&#xff0c;为发掘数据安全领域的优秀产…

【数据结构】二、线性表:4.循环链表的定义及其基本操作(循环单链表,循环双链表的初始化、判空、判断头结点、尾结点、插入、删除)

文章目录 4.循环链表4.1循环单链表4.1.1初始化4.1.2判断单链表是否为空4.1.3判断p结点是否为循环单链表的表尾结点 4.2循环双链表4.2.1初始化4.2.2判断循环链表是否为空4.2.3判断结点p是否为循环双链表的表尾结点4.2.4双链表的插入4.2.5双链表的删除 4.循环链表 4.1循环单链表…

一文教你搞懂Vue生命周期

Vue生命周期 生命周期示意图 Vue3 组件创建阶段 new vue new一个vue的实例对象&#xff1b;此时会进入组件的创建过程&#xff08;该组件在代码中被注册并使用时&#xff0c;就代表着其被new了一个新的实例对象&#xff09;。 Init Events & Lifecycle 初始化组件的事件和…

【python爬虫】免费爬取网易云音乐完整教程(附带源码)

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属专栏:爬虫实战,零基础、进阶教学 景天的主页:景天科技苑 文章目录 网易云逆向网易云逆向 https://music.163.com/ 下载云音乐 胡广生等,可以选择自己喜欢的歌曲 首先,我们可以先根据…

爬虫入门到精通_框架篇15(Scrapy框架安装)

1 Scrapy安装 Scrapy的安装有多种方式&#xff0c;它支持Python2.7版本及以上或Python3.3版本及以上。下面说明Python3环境下的安装。 Scrapy依赖的库比较多&#xff0c;至少需要依赖库有Twisted14.0,lxml 3.4,pyOpenSSL 0.14。而在不同平台环境又各不相同&#xff0c;所以在安…

如何更改照片分辨率?图片分辨率在线修改方法

当我们需要打印照片时&#xff0c;可能需要调整照片的dpi值以适应特定的打印设备和输出质量需求。较高的dpi值可以提供更好的打印质量和细节&#xff0c;而较低的dpi值可以减小打印文件的大小&#xff0c;如何更改照片分辨率呢&#xff1f;想要改图片分辨率的话可以试试本文分享…

LORA: LOW-RANK ADAPTATION OF LARGE LAN-GUAGE MODELS

TOC 1 前言2 方法2.1 LOW-RANK-PARAMETRIZED UPDATE MATRICES 1 前言 1) 提出背景 大模型时代&#xff0c;通常参数都是上亿级别的&#xff0c;若对于每个具体任务都要去对大模型进行全局微调&#xff0c;那么算力和资源的浪费是巨大的。 根据流形学习思想&#xff0c;对于数…

专题一 -双指针 - leetcode 611. 有效三角形的个数 | 中等难度

leetcode 611. 有效三角形的个数 leetcode 611. 有效三角形的个数 | 中等难度1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现4. 知识与收获 leetcode 611. 有效三角形的个数 | 中等难度 1. 题目详情 给定一个包含非负整数的…

基于SSM技术的分布式销售平台设计与实现

目 录 摘 要 I Abstract II 1 绪论 1 1.1 课题研究背景与意义 1 1.2 国内外研究现状 1 1.2.1 国外研究现状 1 1.2.2 国内研究现状 2 1.3 本章小结 2 2 工程开发技术介绍 3 2.1 Web前端技术栈 3 2.1.1 HTML&CSS 3 2.1.2 jQuery 3 2.1.3 JSP 3 2.2 服务端开发技术栈 3 2.2.1…

ChatGPT 升级出现「我们未能验证您的支付方式/we are unable to authenticate」怎么办?

ChatGPT 升级出现「我们未能验证您的支付方式/we are unable to authenticate」怎么办&#xff1f; 在订阅 ChatGPT Plus 时&#xff0c;有时候会出现以下报错 &#xff1a; We are unable to authenticate your payment method. 我们未能验证您的支付方式。 出现 unable to a…

基于apicloud+vue的汽车服务系统设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 课题背景 3 1.1 课题的研究背景与意义 3 1.2研究现状 3 1.3本章小结 4 2 系统开发相关技术 5 2.1 ApiCloud开发工具 5 2.2 MVC架构模型 5 2.3 MySQL数据库 5 2.4 Hibernate、Spring框架 6 2.5 本章小结 6 3 系统分析 7 3.1 系统需求分析 …

Uber/Google Golang编码标准深度分析

良好的代码风格对于开发优秀的产品至关重要&#xff0c;本文通过分析比较三部流传甚广的Golang代码风格指南&#xff0c;介绍了Go代码风格要点&#xff0c;并介绍了通过工具实现代码检查的方式。原文: Mastering Go: In-Depth Analysis of Uber and Google’s Coding Standards…

启动vue项目执行npm run serve报错 : error in ./src/element-variables.scss

error in ./src/element-variables.scss 问题原因 node-sass的版本问题 解决方式 我直接更新了一下node-sass&#xff0c;就好了 npm install node-sass 再次执行就可以执行成功了