分布式微服务 - 4.配置中心 - 2.Nacos

分布式微服务 - 4.配置中心 - 2.Nacos

项目示例:

  • 项目示例 - 4.配置中心 - 1.Nacos

内容提要:

  • 基本使用

文档:

nacos的下载启动、持久化和集群配置见之前服务注册中的分布式微服务 - 2.服务注册 - 5.Nacos 文章。

基本使用

nacos上配置文件的Data Id命名规则要遵循${prefix}-${spring.profiles.active}.${file-extension} ,按以下使用步骤配置后,微服务启动后会自动加载配置信息。

  • prefix默认为spring.application.name的值,也可以通过配置项spring.cloud.nacos.config.prefix来配置。
  • spring.profiles.active即为当前环境对应的profile,可通过配置文件中spring.profiles.active配置
  • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml(yml) 类型。

使用步骤:

  1. 引入依赖:新版Spring Cloud禁用了bootstrap,需要引入依赖启动
xml 复制代码
        <!--Nacos的配置管理-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <!--新版Spring Cloud禁用了bootstrap,导入依赖启用bootstrap-->
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>
  1. 配置信息:spring.application.name和nacos配置信息需要放在bootstrap配置中
yml 复制代码
# bootstrap.yml
spring:
  application:
    name: nacos-config
  cloud:
    nacos:
      config:
        # nacos地址
        server-addr: localhost:8848
        # 可配置namespace和group
        group: DEFAULT_GROUP
        # 配置文件的类型
        file-extension: yaml
yml 复制代码
# application.yml
spring:
  profiles:
    active: test
  1. 动态刷新:nacos中配置信息改变时,会自动同步到微服务的配置中,但是@ConfigurationProperties或@Value读取配置信息到类属性上的值,不会自动更新,因此如果有读取到属性上时,需要在类上使用@RefreshScope来动态刷新配置信息的变化。
相关推荐
Marktowin6 小时前
Mybatis-Plus更新操作时的一个坑
java·后端
赵文宇6 小时前
CNCF Dragonfly 毕业啦!基于P2P的镜像和文件分发系统快速入门,在线体验
后端
程序员爱钓鱼7 小时前
Node.js 编程实战:即时聊天应用 —— WebSocket 实现实时通信
前端·后端·node.js
Libby博仙7 小时前
Spring Boot 条件化注解深度解析
java·spring boot·后端
源代码•宸8 小时前
Golang原理剖析(Map 源码梳理)
经验分享·后端·算法·leetcode·golang·map
小周在成长8 小时前
动态SQL与MyBatis动态SQL最佳实践
后端
瓦尔登湖懒羊羊8 小时前
TCP的自我介绍
后端
小周在成长8 小时前
MyBatis 动态SQL学习
后端
子非鱼9218 小时前
SpringBoot快速上手
java·spring boot·后端