Spring Cloud Alibaba Nacos 构建配置中心

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

构建配置中心

新建命名空间

登录 Nacos 面板,依次点击左侧菜单栏【命名空间→新建命名空间】、填写命名空间名和描述信息,点击【确定】:

Spring Cloud Alibaba Nacos 构建配置中心

新建配置文件

依次点击左侧菜单栏【配置管理→配置列表】、切换到指定命名空间【此处为 shop】、点击右侧【+】号:

Spring Cloud Alibaba Nacos 构建配置中心

添加配置

Spring Cloud Alibaba Nacos 构建配置中心

填写【Data ID】要求组内唯一,【Group】组名,【配置格式】以及【配置内容】,点击【发布】:

Spring Cloud Alibaba Nacos 构建配置中心

注:添加【Data ID】时要添加文件类型

新建项目

创建一个SpringBoot项目:

Spring Cloud Alibaba Nacos 构建配置中心

添加【Nacos Configuration】依赖:

Spring Cloud Alibaba Nacos 构建配置中心

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

修改配置文件

将配置文件【application.properties】重命名为【bootstrap.yml】,添加以下内容:

spring:
  application:
    name: user-service

  profiles:
    active: dev # 当前环境

  cloud:
    nacos:
      #Nacos 配置中心
      config:
        server-addr: localhost:8848 # 配置中心地址
        username: nacos # 账号
        password: nacos # 密码
        namespace: 6c3fb5a3-5f6e-485e-8b96-8aaa47baa217 # 命名空间
        group: USER_GROUP # 组名
        prefix: user-service-config # 读取的目标配置文件 DataID,默认{spring.application.name}
        file-extension: yml

注:

需要配置 spring.application.name ,是因为它是构成 Nacos 配置管理 dataId 字段的一部分。

在 Nacos Spring Cloud 中,dataId 的完整格式如下:

${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 类型。

启动项目,查看控制台打印,可以看到项目以【USER_GROUP】分组下的【user-service-config-dev.yml】配置文件启动:

Spring Cloud Alibaba Nacos 构建配置中心

刷新

通过 Spring Cloud 原生注解 @RefreshScope 实现配置自动更新:

@RefreshScope
@RestController
public class UserController {

    @Value("${user.name}")
    private String name;

    @GetMapping("/userInfo")
    public String getUserId(){
        return "name:"+name;
    }

}

回滚历史版本

依次点击【更多→历史版本】:

Spring Cloud Alibaba Nacos 构建配置中心

点击对应的【回滚】即可:

Spring Cloud Alibaba Nacos 构建配置中心

读取不同分组的配置文件

创建【DEFAULT_GROUP】分组下的【mybatis-plus-config.yml】配置文件:

Spring Cloud Alibaba Nacos 构建配置中心

创建【DEFAULT_GROUP】分组下的【mysql-config.yml】配置文件:

Spring Cloud Alibaba Nacos 构建配置中心

添加依赖:

<!--mybatis-plus 依赖-->
<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!--mysql 依赖-->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
</dependency>
<!--druid 依赖-->
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid-spring-boot-starter</artifactId>
</dependency>

编写配置文件,读取三个不同分组的配置文件:

spring:
  application:
    name: user-service

  cloud:
    nacos:
      #Nacos 配置中心
      config:
        server-addr: localhost:8848 # 配置中心地址
        username: nacos # 账号
        password: nacos # 密码
        namespace: 6c3fb5a3-5f6e-485e-8b96-8aaa47baa217 # 多配置文件需要在同一命名空间
        extension-configs: # 扩展的配置文件【List 集合】
          - dataId: user-service-config.yml # 读取的目标配置文件 data id
            group: USER_GROUP # 组名,默认 DEFAULT_GROUP
            refresh: true # 是否刷新
          - dataId: mybatis-plus-config.yml
            refresh: true
          - dataId: mysql-config.yml
            refresh: true
        file-extension: yml

启动项目,查看控制台打印,项目成功加载配置文件并成功启动:

Located property source: [BootstrapPropertySource {name='bootstrapProperties-user-service.properties,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-user-service,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-mysql-config.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-mybatis-plus-config.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-user-service-config.yml,USER_GROUP'}]

读取共用配置文件

只需修改上步的配置文件即可,项目启动时会读取【user-service-config.yml】以及和其他服务共享的配置文件:【mybatis-plus-config.yml,mysql-config.yml】:文章来源地址https://www.toymoban.com/news/detail-475784.html

spring:
  application:
    name: user-service

  cloud:
    nacos:
      #Nacos 配置中心
      config:
        server-addr: localhost:8848 # 配置中心地址
        username: nacos # 账号
        password: nacos # 密码
        namespace: 6c3fb5a3-5f6e-485e-8b96-8aaa47baa217 # 多配置文件需要在同一命名空间
        prefix: user-service-config # 读取的目标配置文件 data id
        group: USER_GROUP
        file-extension: yml
        shared-configs: # 共享的配置文件【List 集合】
          - dataId: mybatis-plus-config.yml # 读取的目标配置文件 data id
            refresh: true
          - dataId: mysql-config.yml
            refresh: true

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

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

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

相关文章

  • day10-Spring Cloud Alibaba Nacos-服务注册与配置中心

    官网:https://github.com/alibaba/nacos,Nacos官方中文手册 Nacos:Spring Cloud Alibaba服务注册与配置中心(非常详细) (biancheng.net) Spring Cloud Alibaba系列-一文读懂Nacos原理 - 掘金 (juejin.cn) Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服

    2024年02月08日
    浏览(57)
  • 【深入了解Spring Cloud Alibaba Nacos:服务注册和配置中心】—— 每天一点小知识

                                                                💧 深入了解 S p r i n g C l o u d A l i b a b a N a c o s :服务注册和配置中心 color{#FF1493}{深入了解Spring Cloud Alibaba Nacos:服务注册和配置中心} 深入了解 Sp r in g Cl o u d A l ibaba N a cos :服务注

    2024年02月11日
    浏览(69)
  • 【微服务 Spring Cloud Alibaba】- Nacos 服务注册中心

    目录 1. 什么是注册中心? 1.2 注册中心的作用 2. SpringBoot 整合 Nacos 实现服务注册中心 2.1 将服务注册到 Nacos 2.2 实现消费者 3. 服务列表各个参数的含义、作用以及应用场景 注册中心是微服务架构中的一个重要组件,它用于实现 服务注册 与 服务发现 。 【思考一】什么叫服务

    2024年02月06日
    浏览(80)
  • Spring Cloud Alibaba【什么是Nacos、Nacos Server下载安装 、Docker安装Nacos Server服务、微服务聚合父工程构建】(一)

       目录 Spring Cloud Alibaba简介 Spring Cloud Alibaba版本与兼容性   分布式服务治理_什么是Nacos 分布式服务治理_Nacos Server下载安装   分布式服务治理_Docker安装Nacos Server服务 分布式服务治理_微服务聚合父工程构建  什么是Spring Cloud Alibaba Spring Cloud Alibaba致力于提供微服务开发的

    2024年02月17日
    浏览(39)
  • 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集成Nacos实现服务配置中心 | Spring Cloud 7

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

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

    本篇文章将介绍Spring Cloud Alibaba体系下Spring Cloud Gateway的搭建,服务注册中心和分布式配置中心使用Nacos,后续将会持续更新,介绍集成Sentinel,如何做日志链路追踪,如何做全链路灰度发布设计,以及Spring Cloud Gateway的扩展等。 ​ Spring Boot,Spring Cloud,Discovery,Config等基础依

    2024年02月11日
    浏览(113)
  • 微服务 Spring Cloud 7,Nacos配置中心的Pull原理,附源码

    大家好,我是哪吒。 在单体服务时代,关于配置信息,管理一套配置文件即可。 而拆分成微服务之后,每一个系统都会有自己的配置,并且都各不相同,有些配置还需要动态改变,以达到动态降级、切流量、扩缩容等目的。 在Spring Boot开发中,可以把配置项放到config文件中

    2024年02月04日
    浏览(62)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包