谷粒商城学习笔记-23-分布式组件-SpringCloud Alibaba-Nacos配置中心-简单示例

之前已经学习了使用Nacos作为注册中心,这一节学习Nacos另外一个核心功能:配置中心

一,Nacos配置中心简介

Nacos是一个易于使用的平台,用于动态服务发现和配置管理。作为配置中心,Nacos提供了以下核心功能和优势:

  1. 动态配置管理:Nacos允许用户在不重启服务的情况下动态地修改和推送配置信息,实现配置的实时更新。

  2. 配置集中存储:Nacos提供了一个中心化的配置存储,使得配置信息易于管理和维护,避免了配置分散在不同环境和系统中的问题。

  3. 配置版本控制:Nacos支持配置的版本控制,可以追踪配置的变更历史,方便进行回滚操作。

  4. 配置共享:Nacos允许跨服务共享配置,提高配置的复用性,减少冗余。

  5. 配置隔离:通过命名空间(Namespace)的概念,Nacos支持不同环境(如开发、测试、生产)的配置隔离,确保环境间的配置不会相互干扰。

  6. 配置监听和推送:Nacos提供了配置监听功能,当配置发生变化时,可以主动推送更新到客户端,实现配置的热更新。

  7. 安全性:Nacos支持配置的访问控制和权限管理,确保只有授权用户才能访问或修改配置。

  8. 多环境支持:Nacos支持多种部署环境,可以满足不同规模和需求的配置管理。

  9. 与Spring Cloud集成:Nacos与Spring Cloud紧密集成,提供了spring-cloud-starter-alibaba-nacos-config等组件,简化了在Spring Cloud应用中使用Nacos配置中心的过程。

  10. 易用性:Nacos提供了友好的用户界面,使得配置的查看、修改和管理变得直观简单。

Nacos作为配置中心,适用于微服务架构、云原生应用以及需要动态配置管理的分布式系统。通过集中管理配置,Nacos帮助企业提高了配置管理的效率和安全性,同时也简化了开发和运维的工作。

二,Nacos配置中心的使用说明

使用说明在官方文档上有详细记录,点击查看文档https://nacos.io/zh-cn/docs/v2/ecology/use-nacos-with-spring-cloud.html。

1,声明对配置中心的Maven依赖

要使用配置中心首先要添加依赖。

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

在谷粒商城这个项目中,因为所有服务都要使用Nacos配置中心,所以在common模块添加这个依赖

2,在 bootstrap.properties 中配置 Nacos server 的地址和应用名

在工程或者模块的resource目录下,bootstrap.properties问中声明Nacos服务器的地址和服务名称。

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=gulimall-coupon

3,在Nacos配置列表界面创建配置文件

在这里插入图片描述

点击创建配置后,会有如下页面。

在这里插入图片描述

  • ① Data ID相当于文件名,要包含服务名,比如gulimall-coupon.properties
  • ② 配置文件类型,支持多种,对于微服务来讲,一般是yaml或者properties
  • ③ 黑色框内是要填充的配置信息

Nacos Spring Cloud 中,Data Id 的完整格式如下:

${prefix}-${spring.profiles.active}.${file-extension}
  • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
  • spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
  • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 propertiesyaml 类型。

三,测试

1,把配置信息放在工程里

我们先把信息放在工程的配置文件中,在coupon模块的配置文件application.properties中配置如下信息:

coupon.user.name=lcy
coupon.age=22

在这里插入图片描述

2,编写测试代码

在Controller中增加一个方法,使用配置文件中的配置信息。

	@Value("${coupon.user.name}")private String userName;@Value("${coupon.user.age}")private String userAge;@RequestMapping("test")public R test(){return R.ok().put("name", userName).put("age", userAge);}

注意上述代码,我们是通过注解@Value将配置文件中的配置注入到类变量中,然后在方法中引用。

3,测试

启动服务后,在浏览器中输入以下地址。

http://localhost:7000/coupon/coupon/test

输出如下,说明已经读取了配置文件中的信息。
在这里插入图片描述

4,把配置信息配置到配置中心

以优惠券服务为例进行配置。
在这里插入图片描述

点击配置文件列表右侧编辑按钮,进入编辑界面。

在这里插入图片描述

注意,为了弄清楚配置中心配置文件和本地配置文件的区别和联系,我们没有删除上一步本地的配置。

目前仅在配置中心配置了一项配置,这项配置在本地配置中也有,但值不一样,本地配置是coupon.user.name=lcy,配置中心是coupon.user.name=lcy2

重启服务后刷新浏览器,结果如下。

在这里插入图片描述
显然,name的值取自配置中心,而不是本地配置文件,说明配置中心的值会覆盖本地配置文件的值

错误记录

谷粒商城配置中心错误记录

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

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

相关文章

微软推出全新的学习网站 Microsoft Learn

微软官方宣布推出全新的学习网站 Microsoft Learn&#xff0c;供开发人员学习 Microsoft 技术。 该网站包含所有 Microsoft 产品和服务(从 HoloLens 到 Azure)的技术文档。提供了超过 80 小时的学习内容&#xff0c;涉及 Azure、Dynamics 365、PowerApps、Microsoft Flow 和 Po…

VSTO插件功能介绍-清除空行【进化过程】

大家看到的是完成的成果&#xff0c; 可能不知在其中&#xff0c;写码人的艰辛 今天的主要是记录【进化过程】 用于自勉&#xff0c;与大家共勉&#xff0c;努力 文章中的代码你可复制使用哦 想要的效果若用户选择了区域&#xff0c;选择确定Button对此区域&#xff0c;进行清除…

前端vue 实现取色板 的选择

大概就是这样的 一般的web端框架 都有自带的 的 比如 ant-design t-design 等 前端框架 都是带有这个的 如果遇到没有的我们可以自己尝试开发一下 简单 的 肯定比不上人家的 但是能用 能看 说的过去 我直接上代码了 其实这个取色板 就是一个input type 是color 的input …

CTF学习记录(一)——Web基础

目录 Web基础Web基础常用工具ncat(网络工具中的瑞士军刀&#xff0c;功能齐全)curl(一个工作在命令行的发起HTTP请求的工具)BurpSuite(Web核心抓包工具)Hackbar插件SwitchyOmega 代理插件&#xff08;非常牛逼&#xff09;Wappalyzer 技术判断插件EditThisCookie 插件Postman 接…

【计算机网络03】不花钱怎么搭建一个网络实验室

使用GNS3和虚拟机搭建网络实验室 1、安装抓包工具分析数据包2、定义和使用抓包筛选器3、安装和配置GNS34、配置路由器和VPCS5、使用WireShark捕获GNS3网络数据包6、VMware创建虚拟机7、使用思科PacketTracer 1、安装抓包工具分析数据包 官网安装wireshark&#xff1a;https://…

python怎么判断字符串以什么结尾

在python编辑器中新建一个data.py。 写上自己的注释。 然后新建一个变量testname。 利用endswith来判断字符串是不是以“ar”结尾。 将结果打印出来。 选择“run”->“run”。 运行该程序&#xff0c;如果是&#xff0c;就会返回true。

JavaScript-日期对象

日期对象 作用&#xff1a;用来表示时间的对象 获取当前时间 const datenew Date();console.log(date);可以得到日期对象&#xff0c;里面的属性有星期&#xff0c;年月日&#xff0c;时分秒 获取指定时间 const datenew Date(2023-05-01);console.log(date); 获取时间戳 时间…

PyTorch深度学习实战(45)——强化学习

PyTorch深度学习实战&#xff08;45&#xff09;——强化学习 0. 前言1. 强化学习基础1.1 基本概念1.2 马尔科夫决策过程1.3 目标函数1.4 智能体学习过程 2. 计算状态值3. 计算状态-动作值4. Q 学习4.1 Q 值4.2 Gym环境4.3 构建 Q 表4.4 探索-利用策略 小结系列链接 0. 前言 强…

悠律凝声环开放式耳机体验:强劲低音、高颜值设计

最近发现了一款潮酷的开放式耳机&#xff0c;不仅颜值抗打&#xff0c;更重要的是能在嘈杂的环境中提供给我一份宁静的沉浸式音乐体验&#xff0c;号称是开放音频中的重低音之王&#xff0c;它就是悠律凝声环开放式耳机。 这款耳机无论其外观设计、音质效果、性价比以及续航能力…

通勤数据:Comma2k19 数据集

A Commute in Data: The comma2k19 Dataset 通勤数据&#xff1a;Comma2k19 数据集 https://arxiv.org/pdf/1812.05752v1 Abstract— comma.ai presents comma2k19, a dataset of over 33 hours of commute in California’s 280 highway. This means 2019 segments, 1 minut…

「媒体邀约」上海请媒体的费用

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 上海无疑是最具活动的城市之一&#xff0c;各种大大小小的论坛、发布会、展览展会应接不暇&#xff0c;那么在上海做活动想邀请媒体进行宣传报道&#xff0c;需要多少费用呢&#xff1a;…

手慢无,速看︱PMO大会内部学习资料

全国PMO专业人士年度盛会 每届PMO大会&#xff0c;组委会都把所有演讲嘉宾的PPT印刷在了会刊里面&#xff0c;供大家会后回顾与深入学习。 第十三届中国PMO大会-会刊 《2024第十三届中国PMO大会-会刊》 &#xff08;内含演讲PPT&#xff09; 会刊&#xff1a;750个页码&…

buuctf面具下的flag

细节: 这道题可能因为是vmdk的原因 导致在window上 7z无法得到全部的信息 所以最后解压要在linux系统上 解密网站 Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org] 这道题010打开,可以发现里面隐藏了很多 binwalk解压 两个文件 vmdk可以直接 用7z解压 7z x flag.…

Mysql如何高效ALTER TABL

ALTER TABLE 缺点 MySQL 的ALTER TABLE 操作的性能对大表来说是个大问题。 MySQL MySQL 执行大部分修改表结构操作的方法是用新结构的 创建一个&#xff0c;空表从旧表中查出所有数据插入&#xff0c;新表然后删除旧。表这样操作可能需要花费很长&#xff0c;时间 如内果存不…

轻松搭建RAG:澳鹏RAG开发工具

我们很高兴地宣布推出RAG开发工具&#xff0c;这是澳鹏大模型智能开发平台的一项新功能。此功能可帮助团队轻松创建高质量的检索增强生成 (RAG) 模型。 什么是 RAG&#xff1f; 检索增强生成 (RAG) 通过利用大量外部数据源&#xff08;例如企业的知识库&#xff09;显著增强了…

文献阅读(1)——深度强化学习求解车辆路径问题的研究综述

doi&#xff1a; 10.3778/j.issn.1002-8331.2210-0153 深度强化学习求解车辆路径问题的研究综述 (ceaj.org) 组合最优化问题&#xff08; combinatorial optimization problem&#xff0c; COP &#xff09; 日常生活中常见的 COP 问题有旅行商问题&#xff08;traveling sale…

数字化转型领航者:佑美科技塑造智能健康新生态

在全球数字化转型的浪潮中,佑美专注于智能健康解决方案的创新,正以其卓越的技术实力和前瞻性的战略眼光,引领着智能穿戴设备和健身器械行业的未来趋势。佑美科技不仅深耕数字化转型,更在多个领域获得了国家级和省级的权威认可,彰显了其在智能健康领域的影响力。 智能穿戴设备正…

[数据结构] 基于选择的排序 选择排序堆排序

标题&#xff1a;[数据结构] 基于选择的排序 选择排序&&堆排序 水墨不写bug &#xff08;图片来源于网络&#xff09; 目录 &#xff08;一&#xff09;选择排序 实现&#xff1a;(默认从小到大排序) 优化后实现方法&#xff1a; &#xff08;二&#xff09;堆排序…

【Java】垃圾回收学习笔记(二):分代假说与垃圾回收算法

文章目录 0. 分代收集理论分代假说分代GC定义 1. 垃圾回收算法1.1 标记清除&#xff08;Mark-Sweep&#xff09;算法优点缺点 1.2 标记复制算法优点缺点为什么是8:1:1&#xff1f; 1.3 标记整理算法优点缺点 2. 是否移动&#xff1f;Reference 0. 分代收集理论 分代假说 现在…

Navicat和MySQL的安装

1、下载 Navicat Navicat 官网&#xff1a;www.navicat.com.cn/ 在产品中可以看到很多的产品&#xff0c;点击免费试用 Navicat Premium 即可&#xff0c;是一套多连数据库开发工具&#xff0c;其他的只能连接单一类型数据库 点击试用 选择系统直接下载 二、安装 Navicat 安…