【Spring Cloud】关于Nacos配置管理的详解介绍

这篇具有很好参考价值的文章主要介绍了【Spring Cloud】关于Nacos配置管理的详解介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

🎉🎉欢迎来到我的CSDN主页!🎉🎉

🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚

🌟推荐给大家我的专栏《Spring Cloud》。🎯🎯

👉点击这里,就可以查看我的主页啦!👇👇

Java方文山的个人主页

🎁如果感觉还不错的话请给我点赞吧!🎁🎁

💖期待你的加入,一起学习,一起进步!💖💖

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

目录

🌟前言

✨Nacos案例实操

🍃依赖导入

🍃文件配置

🍃Nacos创建配置

🍃读取配置信息

🍃 配置热更新

✨多环境配置 

✨环境隔离


🌟前言

Nacos(Naming and Configuration Service)是一个用于服务发现、配置管理和动态DNS的开源平台。它提供了一种简单而强大的方式来管理微服务架构中的配置信息,并且能够通过服务注册与发现来实现服务间的通信。

当我们的项目服务多起来的时候配置文件是必不可少的,但有些配置文件又是重复的,那么我们如果将它进行统一管理呢?那就可以用到我们的Nacos,不但有服务注册中心还有配置管理何乐而不为?话不多说直接上手。

✨Nacos案例实操

🍃依赖导入

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

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

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

🍃文件配置

SpringBoot 默认支持 properties YAML 两种格式的配置文件。
  • bootstrap.ymlbootstrap.properties)用来程序引导时执行,应用于更加早期配置信息读取,如可以使用来配置application.yml中使用到参数等
  • application.ymlapplication.properties) 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。
注意:bootstrap.yml 先于 application.yml 加载
spring:
  application:
    # 会自动根据服务名拉取data-id对应的配置文件.如果data-id跟服务名不一致 就需要手动指定
    data-id: 

# 跟服务名相同的data-id的配置文件,称之为默认的配置文件
# 除了默认的配置文件,其他配置文件必须写上后缀
name: xx

cloud:
  nacos:
    discovery:
      # Nacos服务发现的地址
      server-addr: 127.0.0.1:8848

    config:
      # Nacos配置中心的配置前缀,用于指定配置文件的命名空间
      prefix: ${spring.application.name}
      
      # 指定Nacos配置中心地址
      server-addr: 127.0.0.1:8848
      
      # 使用的Nacos配置集的dataId的文件拓展名,同时也是Nacos配置集的配置格式,默认为properties
      file-extension: yaml
      
      # 使用的Nacos的命名空间,默认为null
      namespace: f1896568-xxxx-45d8-8a93-a64c5bcc22ff
      
      # 使用的Nacos配置分组,默认为DEFAULT_GROUP
      group: DEFAULT_GROUP
      
      # 是否自动刷新配置,默认为false。使用@RefreshScope实现配置实时更新
      refresh: true

  shared-configs:
    # 共享配置集1
    - data-id: shared-dataId-01.yaml
      group: DEFAULT_GROUP
      refresh: true

    # 共享配置集2
    - data-id: shared-dataId-02.yaml
      group: DEFAULT_GROUP
      refresh: true

  # 要导入的其他配置文件的data-id,多个之间使用逗号分隔
  shared-dataids: a.yml,b.yml

  # 可刷新的配置文件的data-id,多个之间使用逗号分隔
  refreshable-dataids: a.yml,b.yml

这里会根据spring.cloud.nacos.server-addr获取nacos地址,再根据
${spring.application.name}和${spring.cloud.nacos.config.file-extension}作为文件Data ID,来读取nacos的配置。 

🍃Nacos创建配置

通过localhost:8848/nacos访问我们的Nacos为其添加配置文件(配置文件中的值要与这里相符)

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。

🍃读取配置信息

在生产服务中的ConfigController中添加业务逻辑,读取conf对象的相关配置

@RestController
@Slf4j
//实现配置实时更新
@RefreshScope
public class ConfigController {

    //读取Nacos的配置文件信息
    @Value("${email.account}")
    private  String account;
    @Value("${email.password}")
    private  String password;

    @RequestMapping("/getConfig")
    public String getConfig() {
        log.info("account:{},password{}",account,password);
        return "🍗";
    }
}

在页面访问http://localhost:8081/getConfig,可以看到效果

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

 

🍃 配置热更新

修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是配置热更新

局部方式: 使用@RefreshScope注解标注在使用配置信息的类上
全局方式: 先使用@ConfigurationProperties注解将配置读取读取到一个对象上,然后在需要使用配置的类中注入配置对象

 

✨多环境配置 

先去命名空间创建几个环境

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

添加dev环境配置:在nacos中添加一个produce.yaml配置

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

添加test环境配置:在nacos中添加一个produce.yaml配置

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

指定环境配置
bootstrap.yaml文件,添加要读取的环境项,内容如下: 

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

✨环境隔离

nacos config 支持 Namespace Group Data Id 来定位一个配置集(配置文件),可以通过不同的组合实现配置集的隔离。

  • 不同环境不同配置:例如数据源在不同的环境(开发,测试,生产)是不同的可以通过配置中心
  • 运行期间可以动态调整。例如根据各个微服务的负载状况,动态调整数据源连接池大小或者熔断阀值,并且调整时不停止微服务(配置修改后可以自动更新)

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

需要在指定的命名空间(环境)中创建配置信息

【Spring Cloud】关于Nacos配置管理的详解介绍,# Spring Cloud,spring cloud,spring,后端

读取配置信息 文章来源地址https://www.toymoban.com/news/detail-791216.html

spring:
  application:
    name: produce
  #profiles:
    #active: dev # 指定环境
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos 配置中心地址
      config:
        server-addr: ${spring.cloud.nacos.discovery.server-addr} # nacos 配置中心地址
        prefix: ${spring.application.name} #文件名
        file-extension: yaml  # 文件扩展名
        group: CONFIG_GROUP

到了这里,关于【Spring Cloud】关于Nacos配置管理的详解介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Cloud Day2 Nacos配置管理、Feign远程调用与Gateway服务网关

    Nacos除了可以做注册中心,同样可以做配置管理来使用。 当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。 Nacos一方面可以将配置集中管理,另一方可以

    2024年02月10日
    浏览(66)
  • Spring Cloud Nacos详解

    Spring Cloud Nacos 是一个由阿里巴巴集团开发的开源分布式系统服务发现、配置管理和服务管理的平台。Nacos 支持多种服务发现方式,包括 DNS 方式、HTTP 和 RPC 方式,同时提供了灵活的配置管理功能,支持配置的推送和拉取。Nacos 可以帮助开发者轻松地构建和管理云原生应用,提

    2024年02月11日
    浏览(47)
  • Spring Cloud集成Nacos实现本地配置优先 | Spring Cloud 9

    Nacos Config Starter 实现了 org.springframework.cloud.bootstrap.config.PropertySourceLocator 接口,并将优先级设置为最高。 在 Spring Cloud 应用启动阶段,会主动从 Nacos Server 端获取对应的数据,并将获取到的数据转换成 PropertySource 且注入到 Environment 的 PropertySources 属性中,所以使用 @Value 注解

    2024年02月15日
    浏览(67)
  • Spring Cloud集成Nacos实现服务配置中心 | Spring Cloud 7

    先我们来看一下,微服务架构下关于配置文件的一些问题: 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。 配置文件无法区分环境,开发环境、测试环境、线上环境。微服务项目可能会

    2024年02月14日
    浏览(56)
  • Spring Cloud集成Nacos作为配置中心

    Nacos的安装与配置 Spring Cloud集成Nacos作为注册中心 LoadBalacer集成Nacos实现负载均衡 常见的负载均衡策略分析 Spring Cloud集成Dubbo实现RPC调用 前面我们已经介绍了 Nacos 的安装与配置, Spring Cloud 集成 Nacos 作为服务的注册中心,集成 Nacos 实现服务的负载均衡和一些常见的负载均衡

    2024年02月15日
    浏览(57)
  • 微服务 – Spring Cloud – Nacos 配置中心

    Data ID : nacos-config-client-dev.yaml Group: DEV-CLOUD2023

    2024年02月11日
    浏览(64)
  • Spring Cloud Alibaba nacos配置中心

    第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Spring Cloud Netflix 之 Hystrix 第九章 代码管理gitlab 使用 第十章 Spr

    2024年02月08日
    浏览(60)
  • Spring Cloud Alibaba Nacos 构建配置中心

    登录 Nacos 面板,依次点击左侧菜单栏【命名空间→新建命名空间】、填写命名空间名和描述信息,点击【确定】: 依次点击左侧菜单栏【配置管理→配置列表】、切换到指定命名空间【此处为 shop】、点击右侧【+】号: 添加配置 填写【Data ID】要求组内唯一,【Group】组名,

    2024年02月08日
    浏览(60)
  • 【springcloud 微服务】Spring Cloud Alibaba Nacos使用详解

    目录 一、前言 二、nacos介绍 2.1  什么是 Nacos 2.2 nacos 核心能力 2.2.1 服务发现和服务健康监测

    2024年01月22日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包