0
点赞
收藏
分享

微信扫一扫

配置中心组件-Nacos

晗韩不普通 2022-05-01 阅读 42
微服务

章节目录:

一、配置中心概述

二、Nacos作为配置中心

三、基本使用

3.1 引入依赖

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

3.2 在 bootstrap.properties 中配置 Nacos server 的地址和应用名

  • 方式一:properties文件

    spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    
    # 该配置影响统一配置中心中的dataId,之前已经配置过
    spring.application.name=nacos-provider
    
  • 方式二:yaml文件

    spring:
      application:
        name: nacos-provider
      cloud:
        nacos:
          config:
            server-addr: 127.0.0.1:8848
            # 默认读取.properties后缀文件,此处指定读取yaml。
            file-extension: yaml
    

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

@RestController
@RefreshScope
public class ProviderController {

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

    @RequestMapping("hello")
    public String hello(){
        return "hello " + name;
    }
}

3.4 新建配置

四、命名空间

4.1 创建新空间

4.2 指定空间

# 在配置中指定namespaceId
spring.cloud.nacos.config.namespace=xxxx

五、配置回滚

六、加载多配置文件

  • jdbc.properties:
jdbc.url=xxxxxx
  • redis.properties:
redis.url=yyyy

nacos-provider.properties默认加载,怎么加载另外两个配置文件?

在bootstrap.properties文件中添加如下配置:

spring.cloud.nacos.config.ext-config[0].data-id=redis.properties
# 开启动态刷新配置,否则配置文件修改,工程无法感知
spring.cloud.nacos.config.ext-config[0].refresh=true

spring.cloud.nacos.config.ext-config[1].data-id=jdbc.properties
spring.cloud.nacos.config.ext-config[1].refresh=true

七、配置的分组

  • 默认情况下从DEFAULT_GROUP分组中读取redis.properties,如果要切换到provider分组下的redis.properties,需要添加如下配置:
# 指定分组
spring.cloud.nacos.config.ext-config[0].group=provider
  • 缺点:将来每个分组下会有太多的配置文件,不利于维护
  • 建议通过命名空间区分业务功能,分组区分环境

八、更多配置项

在这里插入图片描述

九、结束语


举报

相关推荐

0 条评论