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


下一篇:SpringCloud 入门(4)—— 网关-CSDN博客

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

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

相关文章

门户系统需要压测吗?以及门户系统如何压力测试?

一、门户系统为什么要进行压力测试&#xff1f; 首先一点要明确一下&#xff0c;统一门户上线以后&#xff0c;将是所有应用系统的入口&#xff0c;对应门户稳定性要求较高&#xff0c;门户实现了统一入口和统一认证&#xff0c;系统宕机将影响其他系统使用。一般部署架构要求…

java 对ElasticSearch数据库操作封装工具类(对你是否适用嘞)

在 Java 中封装 ElasticSearch&#xff08;ES&#xff09;数据库操作&#xff08;ES版本之间变动挺大的&#xff0c;别轻易换版本&#xff09;&#xff0c;可以使得与 ES 的交互更加简洁和易于维护。通过封装常见的操作&#xff0c;如插入文档、查询、更新和删除等&#xff0c;…

专题八:背包问题

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解什么是记忆化搜索&#xff0c;并且掌握记忆化搜索算法。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早…

SpringBoot核心:自动配置

有使用过SSM框架的&#xff0c;还记得曾经在spring-mybatis.xml配置了多少内容吗&#xff1f;数据源、连接池、会话工厂、事务管理&#xff0c;而现在Spring Boot告诉你这些都不需要了&#xff0c;简单的几个注解统统搞定&#xff0c;是不是很方便&#xff01; 前言 SpringBoo…

Flutter Intl包使用指南:实现国际化和本地化

Flutter Intl包使用指南&#xff1a;实现国际化和本地化 简介 intl 是Dart的国际化&#xff08;i18n&#xff09;和本地化&#xff08;l10n&#xff09;库&#xff0c;它提供了丰富的功能来支持多语言应用的开发。intl 包能够处理消息翻译、复数和性别的智能处理、日期和数字…

python 定时任务管理封装

主逻辑代码 # -*- coding: utf-8 -*- # import apscheduler import pandas as pd from datetime import datetime # 导入调度器&#xff0c;此处使用BackgroundScheduler阻塞调度器 from apscheduler.schedulers.background import BackgroundScheduler # 导入触发器&#xf…

APP投放的归因框架设计

一、归因相关概念回顾 在广告归因简介中我们介绍常见的归因模型和归因方法&#xff0c;我们先来回顾一下&#xff1a; 1. 背景 2. 设备标识 3. 归因模型 归因模型的多样性意味着每种模型都有其独特的优势和局限。关键在于选择一个与您的业务场景相匹配的模型&#xff0c;并且…

跨站脚本攻击之基本介绍

一.基本概念 跨站脚本&#xff08;Cross-site scripting&#xff0c;简称XSS&#xff09;&#xff0c;是指攻击者往Web页面里插入恶意代码&#xff0c;当用户浏览该页之时&#xff0c;嵌入其中Web页面的HTML代码会被执行&#xff0c;从而达到恶意攻击用户的目的。 为什么称为x…

Kunlun 2280服务器(ARM)Raid卡磁盘盘符漂移问题解决

一、问题描述 1、服务器:Kunlun 2280服务器 ARM 2、操作系统:Euler2.0Sp10 Arm 3、Raid卡型号:MeGaRAID 9560-8i 4、Raid配置:2块配置Raid1作为系统盘&#xff0c;剩余磁盘配置Raid5 作为数据盘 二、问题现象 1、使用IBMC页面配置Raid卡&#xff0c;1个Raid1 系统盘和1个Raid5数…

[搜广推]王树森推荐系统——Deep Retrieval 召回

Deep Retrieval 简介 Deep Retrieval 是一种推荐系统框架&#xff0c;它将物品表示为路径&#xff08;path&#xff09;&#xff0c;并在线上查找与用户最匹配的路径。 这种方法与传统的双塔模型不同&#xff0c;后者通常将用户和物品表示为向量&#xff0c;并在线上进行最近邻…

RabbitMQ 的7种工作模式

RabbitMQ 共提供了7种⼯作模式,进⾏消息传递,. 官⽅⽂档:RabbitMQ Tutorials | RabbitMQ 1.Simple(简单模式) P:⽣产者,也就是要发送消息的程序 C:消费者,消息的接收者 Queue:消息队列,图中⻩⾊背景部分.类似⼀个邮箱,可以缓存消息;⽣产者向其中投递消息,消费者从其中取出消息…

PCIe_Host驱动分析_设备枚举

往期内容 本文章相关专栏往期内容&#xff0c;PCI/PCIe子系统专栏&#xff1a; 嵌入式系统的内存访问和总线通信机制解析、PCI/PCIe引入 深入解析非桥PCI设备的访问和配置方法 PCI桥设备的访问方法、软件角度讲解PCIe设备的硬件结构 深入解析PCIe设备事务层与配置过程 PCIe的三…

Python 标准库:string——字符串操作

文章目录 模块介绍主要常量主要类- Formatter- Template 主要函数- capwords()- Template.substitute()- Formatter.format() 模块介绍 string 模块提供了许多与字符串操作相关的常量和函数。它主要用于处理字符串&#xff0c;包括字符集合、格式化操作和其他与字符串相关的功…

深入浅出:多功能 Copilot 智能助手如何借助 LLM 实现精准意图识别

阅读原文 1. Copilot中的意图识别 如果要搭建一个 Copilot 智能助手&#xff0c;比如支持 知识问答、数据分析、智能托管、AIGC 等众多场景或能力&#xff0c;那么最核心的就是基于LLM进行意图识别分发能力&#xff0c;意图识别的准确率直接决定了 Copilot 智能助手的能力上限…

Echarts之yAxis属性超超超级详情版学习

yAxis 属性说明类型id组件idstringshow是否显示y轴booleanalignTicks在多个 y 轴为数值轴的时候&#xff0c;可以开启该配置项自动对齐刻度。只对value和log类型的轴有效booleanpositiony 轴的位置stringoffsetY 轴相对于默认位置的偏移&#xff0c;在相同的 position 上有多个…

Jo-im开发:用于WebRTC的ICE中继服务器Coturn搭建

前言 本人计划开发一套具备文本、语音、视频通话功能的IM demo&#xff0c;同时具备多人在线会议功能&#xff0c;按习惯大概会开源版定义名称为Duihao jo-im&#xff0c;本案主要用于实现语音视频通话的基础组件支撑。因为我们选择基于WebRTC实现IM中语音、视频通话&#xff…

【CVE-2024-53375】TP-Link Archer系列路由器认证操作系统命令注入(内附远离和代码利用)

CVE-2024-53375 TP-Link Archer系列路由器认证操作系统命令注入 受影响的设备 使用 HomeShield 功能的 TP-Link 设备容易受到此漏洞的影响。这包括 TP-Link Archer 系列的多款路由器。 经过测试 Archer AXE75(EU)_V1_1.2.2 Build 20240827(发布日期 2024 年 11 月 4 日)…

程控电阻箱应用中需要注意哪些安全事项?

程控电阻箱是一种用于精确控制电路中电流和电压的电子元件&#xff0c;广泛应用于电子实验、测试设备以及精密测量仪器中。在应用程控电阻箱时&#xff0c;为确保安全和设备的正常运行&#xff0c;需要注意以下几个安全事项&#xff1a; 1. 正确连接&#xff1a;确保电阻箱与电…

Promise链式调用

Promise链式调用 上一篇我们实现了通过promise的方式实现获取国家基本信息&#xff0c;本次我们来使用promise链式调用来实现邻国的展现 首先&#xff0c;我们从第一个国家中获取到邻国的国家代码名称 const neighbour data[0].borders[0];然后我们通过fetch来获取邻国信息&a…

基于自定义注解与 AOP 切面实现接口日志全面数据库存储

基于自定义注解与 AOP 切面实现接口日志全面数据库存储 一、引言 在当今复杂的软件系统开发与运维过程中&#xff0c;详细且精准地记录接口的各项信息对于系统性能监测、问题排查、安全审计以及业务分析都有着极为关键的意义。本文将深入讲解如何运用自定义注解与 AOP&#x…