当前位置:   article > 正文

Nacos 配置中⼼_com.alibaba.cloud

com.alibaba.cloudspring-cloud-sta

Nacos 配置中⼼

  • pom
        <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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

nacos中添加配置信息

在这里插入图片描述

配置文件

微服务中如何锁定 Nacos Server 中的配置⽂件(dataId)
通过 Namespace + Group + dataId 来锁定配置⽂件, Namespace不指定就默认public, Group不指定
就默认 DEFAULT_GROUP

dataId 的完整格式如下
prefix 默认为 spring.application.name 的值,也可以通过配置项spring.cloud.nacos.config.prefix 来配置。
spring.profile.active 即为当前环境对应的 profile。 注意:当 spring.profile.active
为空时,对应的连接符 - 也将不存在,

dataId 的拼接格式变成 p r e f i x . {prefix}. prefix.{fileextension}file-exetension 为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension 来配置。⽬前只⽀持 properties 和 yaml类型
示例:
在这里插入图片描述

新建配置

在这里插入图片描述

  • bootstrap.yml中,一定要配置中这个文件中
  application:
    name: sca-edu-service-resume
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
      config:
        server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
        namespace: e70a7f62-8dd5-4ac8-bf62-03ac7fa01706
        file-extension: yaml
        group: DEFAULT_GROUP


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

通过 Spring Cloud 原⽣注解 @RefreshScope 实现配置⾃动更新

@RestController
@RefreshScope
public class ConfigController {


    @Value("${mysql.url}")
    private String mysqlUrl;
    @Value("${edu.message}")
    private String eduMessage;




    @RequestMapping("/config")
    public String viewconfig(){

        System.err.println("mysqlUrl   "+mysqlUrl);
        System.err.println("eduMessage   "+eduMessage);

        return mysqlUrl+"\n"+eduMessage;
    }

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

访问http://localhost:8100/config
同时修改nacos中的配置信息,
再次访问
http://localhost:8100/config,发现已经实时更新

读取多个配置文件

在这里插入图片描述

  application:
    name: sca-edu-service-resume
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
      config:
        server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
        namespace: e70a7f62-8dd5-4ac8-bf62-03ac7fa01706
        file-extension: yaml
        group: DEFAULT_GROUP
        extension-configs[0]:
          data-id: abc.yaml
          group: DEFAULT_GROUP
          refresh: true
        extension-configs[1]:
          data-id: def.yaml
          group: DEFAULT_GROUP
          refresh: true  #开启扩展dataId的动态刷新
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • Controller

@RestController
@RefreshScope
public class ConfigController {


    @Value("${mysql.url}")
    private String mysqlUrl;
    @Value("${edu.message}")
    private String eduMessage;
    @Value("${abc.test}")
    private String abcTest;
    @Value("${def.test}")
    private String defTest;




    @RequestMapping("/config")
    public String viewconfig(){

        System.err.println("mysqlUrl   "+mysqlUrl);
        System.err.println("eduMessage   "+eduMessage);
        System.err.println("abcTest   "+abcTest);
        System.err.println("defTest   "+defTest);

        return mysqlUrl+"\n"+eduMessage+"\n ===>"+abcTest+"\n==>"+defTest;
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

优先级

优先级:根据规则⽣成的dataId > 扩展的dataId(对于扩展的dataId, [n] n越⼤优先级越⾼)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/315207?site
推荐阅读
相关标签
  

闽ICP备14008679号