【16-配置中心之Nacos的基本使用Nacos服务之命令空间、Nacos服务之配置组、Nacos服务之配置拆分】

news2025/7/31 2:04:01

一.知识回顾

【0.三高商城系统的专题专栏都帮你整理好了,请点击这里!】
【1-系统架构演进过程】
【2-微服务系统架构需求】
【3-高性能、高并发、高可用的三高商城系统项目介绍】
【4-Linux云服务器上安装Docker】
【5-Docker安装部署MySQL和Redis服务】
【6-Git安装与配置过程、Gitee码云上创建项目、IDEA关联克隆的项目】
【7-创建商城系统的子模块并将修改后的信息使用Git提交到Gitee上】
【8-数据库表结构的创建&后台管理系统的搭建】
【9-前端项目的搭建部署、Node安装、VSCode安装】
【10-Node的安装以及全局环境变量的相关配置&解决启动报错的问题(1.Error: Cannot find module ‘fs/promises)(2.npm安装node-sass报错)】
【11-导入人人generator项目并自动生成相关的文件&商品子模块的调试&公共模块common子模块的抽离与实现&Lombok插件的安装】
【12-商品子模块整合MyBatisPlus技术&其它模块通过generator的自动生成与补充完善】
【13-项目中微服务组件的学习-SpringCloudAlibaba微服务生态体系的学习&SpringCloudAlibaba的依赖管理&项目中SpringBoot和SpringCloud版本的统一】
【14-微服务的注册中心与配置中心Nacos&Windows操作系统上安装Nacos和Linux操作系统上用Docker中安装Nacos&每个子项目模块使用Nacos进行服务注册与发现】
【15-项目中服务的远程调用之OpenFeign&订单模块与商品模块集成使用OpenFeign的案例】

二.配置中心之Nacos的基本使用

配置中心的基本使用---->此处我们以订单模块为案例

首先添加对应的依赖,因为其他的微服务也需要向配置中心中获取配置信息,所以对应的依赖我们添加在了commons模块中

<!--为所有的模块提供服务的配置中心-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--微服务bootstrap启动加载的依赖文件-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
    <version>3.0.3</version>
</dependency>

在这里插入图片描述

订单模块下创建bootsrap.properties文件,这个文件会优先于application.yml文件加载

spring.application.name=mall-order
spring.cloud.nacos.config.server-addr=配置Nacos服务的ip地址:8848

在这里插入图片描述
在application.yml配置文件中对我们相关的数据进行配置
在这里插入图片描述

然后在nacos服务中创建对应的数据集,名称是应用名称.properties ,mall-order.properties,并在我们的配置文件中同样进行相关数据的配置。

加粗样式
在这里插入图片描述

我们通过@Value(“${}”) 来获取配置中心中的数据,配置中心的数据优先于application.yml中的属性信息。

在这里插入图片描述

最后我们在订单模块中定义测试访问的接口,并在controller接口上加上注解@RefreshScope来动态的刷新配置数据,注解的位置写在Controller中

在这里插入图片描述

运行订单子模块,浏览器访问地址:localhost:8030/order/order/users

在这里插入图片描述

浏览器访问我们的子模块定义的接口
当我们在Nacos中更新我们数据的同时再次访问我们的接口可以发现数据同步更新了。
在这里插入图片描述

三.Nacos服务之命令空间

我们在Nacos配置中心中是通过命名空间和配置分组来管理我们众多的配置信息

首先我们通过命名空间来隔离服务,给每一个服务创建一个对应的命名空间

在这里插入图片描述
主界面显示我们刚才创建的命令空间
在这里插入图片描述
在对应的命令空间下创建配置文件
在这里插入图片描述

默认使用的public命名空间,如果要使用特定的命名空间的话,我们需要在bootstrap.properties中显示的指定使用的命名空间
在这里插入图片描述

四.Nacos服务之配置组

  1. 可以通过配置分组来区分不同的开发环境【开发环境dev,测试环境test,生产环境prod】
  2. 不同的开发环境对应的相关配置肯定也是不同的,所以我们进行开发中进行分组是必要的
  3. 创建的时候通过group来指定我们的开发环境也就在具体的命名空间下我们创建的多个环境对应的配置文件

订单模块开发环境配置
在这里插入图片描述
订单模块测试环境配置

在这里插入图片描述

订单模块生产环境配置

在这里插入图片描述

总体预览:
在这里插入图片描述

如果我们需要加载对应的配置组中的信息,那么同样的需要在bootstrap.properties中设置对应的配置组信息
在这里插入图片描述

测试访问:---->和我们之前配置的一样,搞定!
在这里插入图片描述

五.Nacos服务之配置拆分

我们现在是将某个服务中的所有的配置都写在了同一个配置文件中。为了方便管理,我们可以将配置信息拆分到配置中心中。

我们可以将配置文件中的数据源,mybatis的配置信息以及其他的信息拆分开来。

具体操作步骤

  1. 就是现在nacos中在不同的命令空间中创建不同的配置文件

  2. 然后在bootstrap.properties中指定相关的配置

spring.application.name=mall-order
spring.cloud.nacos.config.server-addr=Nacos服务的ip地址:8848
# 指定使用的命名空间
spring.cloud.nacos.config.namespace=命令空间ID
# 指定对应的配置组
spring.cloud.nacos.config.group=组名称

# 配置多个配置集
spring.cloud.nacos.config.ext-config[0].data-id=mybatis.yml
spring.cloud.nacos.config.ext-config[0].group=prod
spring.cloud.nacos.config.ext-config[0].refresh=false

spring.cloud.nacos.config.ext-config[1].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[1].group=prod
spring.cloud.nacos.config.ext-config[1].refresh=false

spring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=prod
spring.cloud.nacos.config.ext-config[2].refresh=false

好了,关于【16-配置中心之Nacos的基本使用&Nacos服务之命令空间、Nacos服务之配置组、Nacos服务之配置拆分】就先学习到这里,更多内容持续更新创作中。

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

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

相关文章

SpringBoot与mockito那点事

题目起的很像那么回事&#xff0c;但是这篇博客本身写的很简单。 我不想写说一堆概念&#xff0c;然后阐释各种概念是什么意思。我喜欢的是直接从例子出发。 package com.example.demo.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; impo…

操作系统的奋斗(一)

第1章 计算机系统概述1.1操作系统的基本概念1.1.1操作系统的概念1.1.2操作系统的特征&#xff08;1&#xff09;并发&#xff08;2&#xff09;共享&#xff08;3&#xff09;虚拟&#xff08;4&#xff09;异步1.1.3操作系统的目标和功能1.2操作系统发展史&#xff08;1&#…

微信公众号开发:网页授权

一、背景介绍 微信公众号网页授权&#xff0c;目的就是获取用户相关信息&#xff0c;实现自己的业务逻辑&#xff0c;最终于会得到的信息如下表格&#xff0c;本文对应的任务获取到openid即可满足业务需求&#xff0c;本文内容包括环境、操作步骤及相关内容比较详细&#xff0…

3D可视化工厂是如何实现的?

3D可视化工厂是数字孪生的一种方式&#xff0c;是基于智慧工厂现实场景进行虚拟的可视化工厂。 在传统工作模式下&#xff0c;许多工厂仍然存在着数据孤岛、生产过程缺乏监控及工作效率低等问题。如何进行工厂数字化的集中管理&#xff0c;寻求全新的数据驱动型业务解决方案&am…

5.python 列表切片双冒号[: :]和[:,j]

列表切片1.[::]2.[ :,j]3. [::]操作高阶用法1.[::] 适用于Python中的list(也就是数组)&#xff0c;也适用于numpy科学结构(array等)。 使用方法[start: end : step ]&#xff0c;也就是[ 起始下标 : 终止下标 : 间隔距离 ] 切片范围是&#xff1a; start < x < end,注…

iOS 优雅的定义一些全局常量和函数

我们常常使用 #define 来定义一些宏&#xff0c;全局使用。但是可以采用一些更优雅的方式来实现。 方式一&#xff1a;使用 extern 使用场景&#xff1a;工程内多处用到同一个常量。开发中便与管理某一个模块的全局变量&#xff0c;通常创建一个模块的配置文件&#xff0c;里面…

Qt构建时遇到error LNK2019: 无法解析的外部符号 __imp__glAlphaFunc@8,

在我的印象中如果是遇到无法解析的外部命令&#xff0c;无非就是两种情况 头文件定义了方法没有实现lib库没加 因为我这次写的软件我不确定缺失什么库&#xff0c;所以就先检查方法是否未实现&#xff0c;发现方法都实现了&#xff0c;那就只能是lib库缺失的问题了&#xff0…

【机器学习并行计算】1 MapReduce

1 MapReduce 每个节点计算梯度&#xff0c;然后汇聚到一台机子上&#xff0c;再进行梯度下降。时间还需要考虑通信时间。 通信的方式有两种&#xff1a;共享内存和消息传递&#xff1b;在这里存在多机的情况都是消息传递的方式。 通信耗时 MapReduce 会有风险&#xff0c;因为每…

[附源码]java毕业设计农村电商平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Python编程从入门到实践 第九章:类 练习答案记录

Python编程从入门到实践 第九章&#xff1a;类 练习答案记录 练习题导航Python编程从入门到实践 第九章&#xff1a;类 练习答案记录9.1 创建和使用类9.1.1 创建Dog类9.1.2 根据类创建实例练习9-1 餐馆 &#xff1a; 创建一个名为Restaurant 的类&#xff0c; 其方法__init__()…

Android 进程间通信(IPC机制)精炼详解

今天主要对 Android 中的跨进程通信进行总结下&#xff0c;先梳理下里面的涉及的一些概念 进程与线程 进程&#xff1a; 系统中正在运行的一个应用程序&#xff0c;某个程序一旦运行就是一个进程&#xff0c;是资源分配的最小单位&#xff1b;线程&#xff1a; 程序执行的最小…

曙光云使用说明

平台链接 https://ac.sugon.com/ac/home/index.html 控制台界面 创建个人工作目录及上传文件。点击概览页面顶端的 E-Shell 菜单栏&#xff0c;进入所连主机的 Shell 终端。在用户目录下新建个人工作目录&#xff0c;如&#xff1a;mkdir ywj2 安装MiniConda&#xff08;推荐…

Ubuntu20.04 如何开启root账户登陆

环境&#xff1a; 电脑&#xff1a;戴尔7080 系统&#xff1a;Windows 10 专业版 64位 VMware 16.0 &#xff1a;Ubuntu20.04 问题描述&#xff1a; Ubuntu20.04 如何开启root账户登陆 解决方案&#xff1a; 1.以普通用户登录系统&#xff0c;创建root用户的密码 在终端…

Java代码审计——WebGoat XSS

目录 &#xff08;一&#xff09;XSS 常见触发位置 1&#xff0e;JSP 表达式 2&#xff0e;EL &#xff08;二&#xff09;反射型 XSS (三&#xff09; 存储型 XSS &#xff08;四&#xff09;XSS 漏洞修复 配置过滤器&#xff1a; &#xff08;一&#xff09;XSS 常见触发…

HTML期末作业课程设计期末大作业__电影长津湖介绍带视频(6页)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 摄影作品 | 影视设计网页 | 在线电影 | 视频音频元素 | HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HTML&#xff1a;结构 CSS&#xff1…

uiautomator2的安装,使用,在浏览器中查看页面的信息,简单快捷的ui测试工具,app测试工具(一)

uiautomator2的安装&#xff0c;使用&#xff0c;简单快捷的ui测试工具&#xff0c;app测试工具 安装方法 命令行中输入 pip install uiautomator pip install weditor在andriod studio中启动一个模拟器 启动 python -m weditor即可在浏览器看到弹出的窗口&#xff0c;里面…

【滤波跟踪】基于不变扩展卡尔曼滤波器对装有惯性导航系统和全球定位系统IMU+GPS进行滤波跟踪附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

核苷酸类化合物库 脂类化合物库参与细胞调控

核苷及核苷酸是机体内的一种重要的内源物质&#xff0c;参与细胞的多种生命进程&#xff0c;如 DNA 和 RNA 合成&#xff0c;信号转导及代谢等。核苷及核苷酸类似物是人工合成的&#xff0c;经过一定化学修饰的物质&#xff0c;可以模拟机体内核苷及核苷酸&#xff0c;参与细胞…

Git合并出现MERGING有效解决方法

Git合并出现MERGING有效解决方法错误描述解决办法参考链接错误描述 我在操作git合并时候意外出现了MERGING&#xff0c;很懵逼&#xff0c;如图所示&#xff1a; 遇到这个问题也是很头疼了&#xff0c;百度了很多方法有说是&#xff1a;“在命令行输入&#xff1a;git reset …

“以赛助教”进校园,CCF大数据与计算智能大赛成高校人才探索实践AI技术的第二课堂!

随着第十届CCF大数据与计算智能大赛&#xff08;简称2022 CCF BDCI&#xff09;的报名通道关闭、《大咖说系列专题报告》收官&#xff0c;“以赛助教”系列活动也正式宣告结束。 CCF大数据与计算智能大赛&#xff08;CCF BDCI&#xff09;由中国计算机学会于2013年创办&#x…