SpringCloud 入门(3)—— Nacos配置中心

上一篇:SpringCloud 入门(2)—— 跨服务调度-CSDN博客


Nacos是阿里巴巴开源的服务发现与配置管理基础设施,旨在帮助开发者更轻松地构建云原生应用。它提供了一组简单易用的特性集,支持动态服务发现、配置管理和服务管理,适用于微服务架构和云原生应用环境。

1.nacos如何去定位一个具体的配置文件呢?

即:namespace、group、dataid.

1、通过namespace、group找到具体的环境和具体的项目。

2、通过dataid找到具体的配置文件,dataid有三部分组成

比如:content-service-dev.yaml配置文件  由(content-service)-(dev). (yaml)三部分组成

content-service:第一部分,它是在application.yaml中配置的应用名,即spring.application.name的值。

dev:第二部分,它是环境名,通过spring.profiles.active指定

Yaml: 第三部分,它是配置文件 的后缀,目前nacos支持properties、yaml等格式类 

导入依赖

        <!--将应用程序的配置从本地文件迁移到外部配置中心,实现配置的集中管理和动态刷新。--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency>

54a22230d3194beba26237b574e25326.png

 此时就可以将本地的配置,如mysql连接的配置,交由nacos管理(注意复制上去时不要掉了spring

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://124.70.208.223:3306/xcplus_content?serverTimezone=UTC&useUnicode=true&useSSL=falseusername: rootpassword: root
logging:config: classpath:log4j2-dev.xml
server:servlet:context-path: /contentport: 63040

a0397cae9e3b408bb2da3d1cdab4adb0.png

 本地只需要保留这些配置,用户指定运行环境和nacos地址


#微服务配置
spring:application:name: content-api # 微服务名称cloud:nacos:server-addr: 124.70.208.223:8085discovery:namespace: dev  # Nacos 服务管理的命名空间,用于隔离不同环境的服务group: xuecheng-plus-project  # Nacos 服务发现的组名,用于进一步隔离服务config:namespace: dev  # Nacos 配置管理的命名空间,用于隔离不同环境的配置group: xuecheng-plus-project  # Nacos 配置管理的组名,用于进一步隔离配置file-extension: yaml  # Nacos 配置文件的扩展名,这里指定为 YAML 格式refresh-enabled: true  # 是否启用配置的动态刷新功能profiles:active: dev # 指定当前环境为开发环境

部署完成后重新运行程序,依旧生效

2.公共配置

  • shared-configs 适用于多个应用都需要的一些通用配置,例如 日志配置。

在我们的项目中,有一些公共的配置,在任何模块中可能都会用到,我们可以将他单独提取出来。如:日志信息

7624ee18c8184cdcbc8bcd5b52f0b401.png

 使用shared-configs属性,引用该配置

spring:application:name: content-servicecloud:nacos:server-addr: 124.70.208.223:8085config:namespace: devgroup: xuecheng-plus-projectfile-extension: yamlrefresh-enabled: trueshared-configs:- data-id: logging-${spring.profiles.active}.yamlgroup: xuecheng-plus-commonrefresh: trueprofiles:active: dev

 3.扩展配置

extension-configs: 适用于需要为特定应用添加额外配置的情况,例如某些特殊的功能配置或环境变量。

extension-configs与shared-configs作用一样,语义不同

spring:application:name: content-api # 微服务名称cloud:nacos:server-addr: 124.70.208.223:8085discovery:namespace: dev  # Nacos 服务管理的命名空间,用于隔离不同环境的服务group: xuecheng-plus-project  # Nacos 服务发现的组名,用于进一步隔离服务config:namespace: dev  # Nacos 配置管理的命名空间,用于隔离不同环境的配置group: xuecheng-plus-project  # Nacos 配置管理的组名,用于进一步隔离配置file-extension: yaml  # Nacos 配置文件的扩展名,这里指定为 YAML 格式refresh-enabled: true  # 是否启用配置的动态刷新功能extension-configs:- data-id: logging-${spring.profiles.active}.yamlgroup: xuecheng-plus-commonrefresh: true

4.配置文件优先级

默认情况下,各配置文件 的优先级:项目应用名配置文件 > 扩展配置文件  > 共享配置文件 > 本地配置文件。

为了方便,我们一般会在nacos中配置本地优先

#配置本地优先
spring:cloud:config:override-none: true

 abbf5324c848431e803e830c22069ae1.png

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

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

相关文章

中地数码亮相2024武汉市数字经济应用场景对接大会

为推动数字经济应用场景供需有效精准对接&#xff0c;加快新技术新产品在汉应用推广&#xff0c;12月16日&#xff0c;由武汉市数据局主办的2024武汉市数字经济应用场景对接暨揭榜挂帅项目发布会成功举行。作为国产GIS基础软件领军企业&#xff0c;中地数码受邀出席作数字赋能产…

《解锁 Python 数据挖掘的奥秘》

《解锁 Python 数据挖掘的奥秘》 一、Python 数据挖掘基础&#xff08;一&#xff09;Python 基础与数据挖掘环境搭建&#xff08;二&#xff09;数据挖掘基本流程概述 二、Python 数据挖掘核心技术&#xff08;一&#xff09;数据收集与预处理技术&#xff08;二&#xff09;常…

如何学习Trustzone

阅读官方文档 ARM 官方文档是学习 Trustzone 最权威的资料来源。例如&#xff0c;ARM Architecture Reference Manual 中详细介绍了 Trustzone 的架构原理、寄存器定义和操作模式等内容。这些文档虽然比较复杂&#xff0c;但能够提供最准确的技术细节&#xff0c;适合在学习过…

Gaea学习笔记总结

Gaea 是一款地形创建软件&#xff0c;它内置了丰富的地貌节点&#xff0c;能快速生成像山脉、荒原峡谷、河流、湖泊等地貌特征。 节点解释使用方法概述Primitives&#xff08;基本体&#xff09;Constant&#xff08;常数&#xff09;创建输出&#xff0c;一般用来输出Hight&am…

Pytorch | 从零构建MobileNet对CIFAR10进行分类

Pytorch | 从零构建MobileNet对CIFAR10进行分类 CIFAR10数据集MobileNet设计理念网络结构技术优势应用领域 MobileNet结构代码详解结构代码代码详解DepthwiseSeparableConv 类初始化方法前向传播 forward 方法 MobileNet 类初始化方法前向传播 forward 方法 训练过程和测试结果…

深度学习0-前置知识

一、背景 AI最大&#xff0c;它的目的是通过让机器模仿人类进而超越人类&#xff1b; ML次之&#xff0c;它是AI的一个分支&#xff0c;是让机器模仿人类的一种方法。开发人员用大量数据和算法“训练”机器&#xff0c;让机器自行学会如何执行任务&#xff0c;它的成功取决于…

【java基础系列】实现数字的首位交换算法

在java中&#xff0c;手写实现一个数字的首位交换算法实现 实现效果 实现代码 核心业务代码 public static void main(String[] args) {int[] arr {1,2,3,4,5};int temp arr[0];for (int i 0; i < arr.length; i) {System.out.print(arr[i]);}System.out.println(&quo…

C语言初阶习题【14】数9的个数

1.编写程序数一下 1到 100 的所有整数中出现多少个数字9 2.思路 循环遍历1到100&#xff0c;需要判断每一位的个位数是否为9&#xff0c;十位数是否为9&#xff0c;每次符合条件就count进行计数&#xff0c;最后输出count&#xff0c;即可 3.code #define _CRT_SECURE_NO_W…

Debian11 安装MYSQL8 签名错误

前言 今天在新装的Debian11上安装MSYQL8,出现了如下错误 看了下是签名错误&#xff0c;下面具体提供下解决版本 安全mysql vim /etc/apt/sources.list 我使用的阿里源 deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib deb-src https://mirrors.al…

C++----类与对象(下篇)

再谈构造函数 回顾函数体内赋值 在创建对象时&#xff0c;编译器通过调用构造函数&#xff0c;给对象中各个成员变量一个合适的初始值。 class Date{ public: Date(int year, int month, int day) { _year year; _month month; _day day; } private: int _year; int _mo…

基于SpringBoot的山西文旅网系统

一、系统背景与意义 在经济全球化背景之下&#xff0c;互联网技术将进一步提高社会综合发展的效率和速度&#xff0c;也将涉及到各个领域&#xff0c;而山西文旅网在网络背景下有着无法忽视的作用。山西作为中国的文化大省&#xff0c;拥有丰富的旅游资源和深厚的文化底蕴。为…

UWB无载波通信技术,UWB定位系统源码

UWB(Ultra Wideband)是一种无载波通信技术&#xff0c;利用纳秒至微秒级的非正弦波窄脉冲传输数据。通过在较宽的频谱上传送极低功率的信号。UWB技术解决了困扰传统无线通信技术多年的有关传播方面的重大难题&#xff0c;具有对信道衰落不敏感、发射信号功率谱密度低、截获率低…

OSPF的状态机

OSPF的状态机-- 当设备启动之后会自动从down进入到init初始化状 态&#xff0c;发送hello报文&#xff0c;如果收到hello报文中携带自己的RID就会自动进入two-way状态---标志设备邻居关系建立的标志 条件匹配--- FULL状态 工作完成的状态&#xff1a;标志邻接关系的建立 OS…

云原生服务网格Istio实战

基础介绍 1、Istio的定义 Istio 是一个开源服务网格&#xff0c;它透明地分层到现有的分布式应用程序上。 Istio 强大的特性提供了一种统一和更有效的方式来保护、连接和监视服务。 Istio 是实现负载平衡、服务到服务身份验证和监视的路径——只需要很少或不需要更改服务代码…

Vue进阶之Vue RouterSSR

Vue Router&SSR VueRouter前端路由模式路由的简单使用动态参数路由编程式导航 手写一个vueRouterrouter/core.jsrouter/index.jsmain.jsApp.vueHome.vueAbout.vue vue-router原理总的package.json&packagesscripts重点&#xff1a;packages/router包package.jsonpackag…

Springboot应用开发:配置类整理

目录 编写目的 一、线程池 1.1 setCorePoolSize 1.2 setMaxPoolSize 1.3 setQueueCapacity 1.4 setKeepAliveSeconds 1.5 setThreadNamePrefix 1.6 setRejectedExecutionHandler 1.7 示例代码 二、Durid数据库连接池 2.1 ServletRegistrationBean 2.2 FilterRegist…

JVM系列(十二) -常用调优命令汇总

最近对 JVM 技术知识进行了重新整理&#xff0c;再次献上 JVM系列文章合集索引&#xff0c;感兴趣的小伙伴可以直接点击如下地址快速阅读。 JVM系列(一) -什么是虚拟机JVM系列(二) -类的加载过程JVM系列(三) -内存布局详解JVM系列(四) -对象的创建过程JVM系列(五) -对象的内存分…

LightGBM分类算法在医疗数据挖掘中的深度探索与应用创新(上)

一、引言 1.1 医疗数据挖掘的重要性与挑战 在当今数字化医疗时代,医疗数据呈爆炸式增长,这些数据蕴含着丰富的信息,对医疗决策具有极为重要的意义。通过对医疗数据的深入挖掘,可以发现潜在的疾病模式、治疗效果关联以及患者的健康风险因素,从而为精准医疗、个性化治疗方…

STM32F407寄存器点灯

背景描述&#xff1a; 最近用32开发遇到问题不得不看寄存器了&#xff0c;就回顾了一下寄存器手册的查看方式和寄存器的使用方法&#xff1b; 上一次这么细致的记录还是在刚学习STM32的时候&#xff0c;之前觉得看寄存器手册以及配置寄存器是有点难度的事情&#xff0c;现在回头…

Cline 3.0发布:从AI编程助手到通用智能体平台的进化

引言 在人工智能快速发展的今天&#xff0c;开发者工具正在经历一场革命性的变革。作为VSCode生态中备受欢迎的AI编程助手&#xff0c;Cline迎来了具有里程碑意义的3.0版本更新。本次Cline 3.0更新不仅带来了用户呼声最高的自动审批功能&#xff0c;还通过一系列创新优化全面提…