Nacos的配置中心的了解

news2025/1/21 1:02:53

目录

1. 为何需要配置中心

2. nacos的配置中心

2.1 配置示例

2.2 多环境配置

2.3 GROUP

2.4 namespace


1. 为何需要配置中心

没有配置中心的情况下会出现什么情况:

  • 如果没有配置中心,则各个服务的配置文件分散在各个项目中,不方便维护
  • 出于安全考虑,实际开发中,开发人员并不知道生产环境的配置
  • 在更新配置后项目需要重启

加配置中心后可以有效的解决上述的问题。

2. nacos的配置中心

下面的开发示例演示了如何在一个服务中加入配置中心的支持。如果对Netflex公司开发的微服务组件有所了解,应该知道在Neflex服务组件中也有配置中心,但需要专门创建一个注册中心服务与GitHub(或类型的git仓库)中的配置文件仓库关联,其他服务使用配置中心时需要调用配置中心服务。nacos则比较简单,只用在需要配置中心的模块中直接配置即可。

具体步骤:

  • 创建一个新的模块,用于演示配置中心的使用
  • 编写pom导入必要依赖
  • 编写项目配置文件,yml或properties
  • 编写启动类
  • nacos中增加配置信息
  • 在项目中使用配置中心
  • 配置自动刷新

2.1 配置示例

1) 新建一个模块,作为配置中心

 

2)pom文件引入必要的依赖

    <dependencies>

        <!-- 提供web能力 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 从注册中心进行服务发现 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!-- 配置中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

        <!-- 向注册中心进行服务注册 -->
        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
        </dependency>

    </dependencies>

2) 编写项目配置文件

bootstap.yml与application.yml之间的区别:
bootstrap 加载优先于 applicaton。bootstrap 主要用于从额外的资源来加载配置信息。

bootstap的使用场景:

  • 使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息
  • 一些固定的不能被覆盖的属性
  • 一些加密/解密的场景

bootstrap.yml

server:
  port: 8877 #服务端口号

spring:
  application:
    name: service-config #服务名称
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848  #中心中西ip及端口号
      config:
        server-addr: 127.0.0.1:8848 #配置中心及端口号
        file-extension: yaml  #存放在配置中心的配置文件的扩展名

application.yml

spring:
  profiles:
    active: dev  #表示启用开发环境的配置文件

3)编写启动类

@SpringBootApplication
@EnableDiscoveryClient
public class ConfigApp {

    public static void main(String[] args) {
        SpringApplication.run(ConfigApp.class,args);
    }

}

4)启动配置服务,测试是否能正常的加入到nacos

 

5)nacos中增加配置信息

  • dataId的规则: $ {prefix}-spring.profile.active.{file-extension}
    $ {prefix}: 前缀,默认为spring.application.name的值
    $ {spring.profile.active} 当前环境对应的profile,(多环境配置)
    $ {file-extension} 配置内容的数据格式(文件扩展名)

根据上面的规则,我们可以将dataId配置为: nacos-config-dev.yml , 此处需要和bootstrap.yml中配置的file-extension属性保持一致,否则不能正常读取。

 

注意:此处需要注意配置文件的格式,如果是yml文件,则冒号后面需要有一个空格。

6)读取配置中心信息

 

ConfigController.java

@RestController
@RefreshScope
public class ConfigController {

   @Value("${config.msg}")
   private String msg;

   @GetMapping("/config/msg")
   public String getMsg() {
       return msg;
   }

}

2.2 多环境配置

1)通过上面讲述的配置步骤,再配置一个配置文件,dataId:nacos-config-test.yml, test表示为测试环境。如图所示:

 

2)将application.yml配置文件修改使用test环境

spring:
  profiles:
    active: test

3)启动服务测试,如图,说明多环境配置生效。

 

2.3 GROUP

1)在配置中心中创建一个新的配置文件,并指定分组,dataId的规则同上。

2)配置文件
bootstrap.yml

 

application.yml

 

3)启动测试

 

2.4 namespace

1) public为保留的命名空间名称

2)创建命名空间

 

3)创建成功

 

4)在创建的命名空间中添加配置

具体配置如下:

 

 

5) 配置文件


=--------

 

6) 测试

 

 

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

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

相关文章

不用光盘重装系统如何操作

​光盘重装系统是之前十分常用的系统安装方法,随着科技的飞速发展,现如今重装系统的方法五花八门,一键重装系统以及U盘重装系统等方法的出现取代了光盘重装系统,这里就来介绍一下不用光盘重装系统操作方法。 工具/原料&#xff1a; 系统版本&#xff1a;windows10系统 品牌型…

Kotlin协程笔记:CoroutineScope管理协程

CoroutineScope 是实现协程结构化并发的关键。使用 CoroutineScope&#xff0c;可以批量管理同一个作用域下面所有的协程。 CoroutineScope 与 结构化并发 launch、async 被定义成了 CoroutineScope 扩展函数。在调用 launch 之前&#xff0c;必须先获取 CoroutineScope。 pub…

高级又高效的属性表编辑技术,你值得拥有!

当你要按关键词选择内容,无从下手? 当你要修改字段的部分内容,不知所措? 当你要提取出字段的某些内容,毫无头绪? 当你要按照位数来提取字符内容,力不从心? 当你要为字段补充一些新的内容,目瞪口呆? 当你要把一个字段分割成多个字段,抓耳挠腮? ...... 属性表的…

CUDA ~ WarpReduce

又是一篇关于cuda的 要好好学学哦, CUDA 编程进阶分享&#xff0c;一些 warp 的使用 如何实现一个高效的Softmax CUDA kernel&#xff1f;多少还是有些细节没有理解&#xff0c;恰好最近要做一个类似的 ReduceScale Kernel&#xff0c;原理机制还是比较相似的&#xff0c;所以…

CSS -- 10. 移动WEB开发之rem布局

文章目录移动WEB开发之rem布局1 rem基础2 媒体查询2.1 什么是媒体查询2.2 语法规范2.3 mediatype 查询类型2.4 关键字2.5 媒体特性2.6 案例&#xff1a;根据页面宽度改变背景颜色2.7 媒体查询rem实现元素动态大小变化2.8 针对不同的屏幕尺寸引入不同的样式文件3 Less基础3.1 维…

8000字详解Thread Pool Executor

摘要&#xff1a;Java是如何实现和管理线程池的?本文分享自华为云社区《JUC线程池: ThreadPoolExecutor详解》&#xff0c;作者&#xff1a;龙哥手记 。 带着大厂的面试问题去理解 提示 请带着这些问题继续后文&#xff0c;会很大程度上帮助你更好的理解相关知识点。pdai …

数据泄露成数据安全最大风险,企业如何预防呢?

据《中国政企机构数据安全风险分析报告》显示&#xff0c;2022年1月——2022年10月&#xff0c;安全内参共收录全球政企机构重大数据安全报道180起&#xff0c;其中数据泄露相关安全事件高达93起&#xff0c;占51.7%。与近三年平均每月公开报道频次相比&#xff0c;2022年相较前…

如何在3DMAX中不使用Maxscript或插件破碎物体对象?

在3DMAX中破碎物体我们通常会借助Maxscript或者插件&#xff0c;其实&#xff0c;不借助任何其他工具&#xff0c;3DMAX也可以实现对物体的破碎&#xff0c;下面就给大家介绍一种方法&#xff1a; 1.首先&#xff0c;创建一个破碎对象&#xff0c;比如一个石块&#xff08;或者…

AI趋势下,小布助手的进化论

“要构建人工智能等高精尖产业的新增长引擎”&#xff0c;随着人工智能在未来全球科技经济中的重要作用愈加凸显&#xff0c;当前产业已然获得了有史以来最强的政策建构力量。 随着政策的利好&#xff0c;中国人工智能进入一个前所未有的快速发展阶段。企查查数据显示&#xf…

疫情下的在线教学数据观

由于新型冠状病毒感染的肺炎疫情影响&#xff0c;剧烈增长的市场需求助推了在线教育的发展&#xff0c;同时也暴露了一些问题。 最近我们被客户要求撰写关于疫情的研究报告&#xff0c;包括一些图形和统计输出。 在本文中&#xff0c;我们结合了对100多个高中学生进行的在线教…

快讯 | 嘉为蓝鲸受邀出席汽车新智造数字行业峰会,助力构建数字时代竞争力!

12月9日&#xff0c;第五届GADI汽车新智造数字创新行业峰会暨年度评选盛典于上海圆满落幕&#xff0c;嘉为蓝鲸受邀出席。本届大会以“数智创新 赋能破局”为主题&#xff0c;多方面切入解读新能源汽车的数字化发展趋势&#xff0c;助力车企构建数字时代竞争力。 01 研运一体&a…

数据通信基础 - 信道特性(奈奎斯特定理、香农定理 )

文章目录1 概述1.1 通信系统模型图2 信道特性2.1 信道带宽 W2.2 奈奎斯特定理 - 无噪音2.3 香农定理 - 有噪音2.4 带宽、码元速率、数据速率 关系梳理3 网工软考真题1 概述 1.1 通信系统模型图 通信的目的&#xff1a;传递信息 2 信道特性 2.1 信道带宽 W 模拟信道&#…

数据中台选型必读(六):说说数据服务的七大核心功能

在前面的文章中&#xff0c;我们介绍了数据中台的元数据中心、指标字典与指标体系、数据模型设计、数据质量评估等内容&#xff0c;这些都是One Data理念下数据中台架构的重要部分。 我们今天要讲的One Service——统一数据服务&#xff0c;指的是由数据中台提供统一的数据接入…

搭建自动发卡网站搭建教程(独角数卡)保姆级教程,支付 + 图文

自动发卡网站 程序是开源的独角数卡 我搭建了一个这样的 wooknow自动销售发卡http://ok.54ndd.com/ 一个在线销售虚拟产品的平台。你应该见过这样的发卡平台。一些虚拟产品&#xff0c;如软件、激活码和会员可以放在上面出售。我在这里使用的发卡项目是一个开源的单字符数字…

Matplotlib怎么创建 axes 对象?

在 matplotlib 中&#xff0c;有几种常见的方法来创建 axes 对象&#xff1a; 1.使用 subplots 函数&#xff1a; import matplotlib.pyplot as pltfig, ax plt.subplots()subplots 函数会创建一个新的图形&#xff08;figure&#xff09;并返回一个包含单个子区域&#xff…

二肽Ala-Pro,13485-59-1

Substrate for skin fibroblast prolidase.皮肤成纤维细胞prolida酶的底物。 编号: 199181中文名称: 二肽Ala-Pro英文名: Ala-ProCAS号: 13485-59-1单字母: H2N-AP-OH三字母: H2N-Ala-Pro-COOH氨基酸个数: 2分子式: C8H14N2O3平均分子量: 186.21精确分子量: 186.1等电点(PI): 6…

【git 提交、撤销、回退代码】

git 提交、撤销、回退代码git push后 发现提交分支错误 --> 回退代码git 未push、取消commit(保留代码&#xff09;git 未push、取消commit(不保留代码&#xff09;git push后 发现提交分支错误 --> 回退代码 首先 git log 查看提交记录&#xff0c; 找到需要回退到哪次…

CSRF实战案例—绕过referer值验证

在一个添加管理员的界面引起了我的注意 尝试添加一个管理员,如下添加成功,我们可以观察其请求包中并未存在token字段,可能存在csrf漏洞。但是存在“Referer”和“Origin”字段 我们把referer字段删了只剩origin,查看是否可以请求成功,发现可以请求成功 两个值都删了,请求…

PGL 系列(四)词向量 CBOW

环境 python 3.6.8paddlepaddle-gpu 2.3.0numpy 1.19.5一、CBOW 概念 CBOW:通过上下文的词向量推理中心词 在CBOW中,先在句子中选定一个中心词,并把其它词作为这个中心词的上下文。如 上图 CBOW所示,把“spiked”作为中心词,把“Pineapples、are、and、yellow”作为中心词…

【车载开发系列】UDS诊断---控制DTC设置($0x85)

【车载开发系列】UDS诊断—控制DTC设置&#xff08;$0x85&#xff09; UDS诊断---控制DTC设置&#xff08;$0x85&#xff09; 【车载开发系列】UDS诊断---控制DTC设置&#xff08;$0x85&#xff09;一.概念定义常见汽车故障二.子功能三.报文格式1&#xff09;报文请求2&#xf…