美文网首页
配置中心:Spring Cloud Alibaba Nacos

配置中心:Spring Cloud Alibaba Nacos

作者: 睦月MTK | 来源:发表于2020-05-21 17:37 被阅读0次

    声明:入门级文档,更多内容会持续更新,不足之处,望不吝指点


    一、启动Nacos配置中心
    • Nacos的安装与启动
      大体可以参照服务发现:Spring Cloud Alibaba Nacos一文来启动,在此就不赘述了
    • 中心配置的添加
      • 点击配置管理-配置列表
      • 可以选择导入配置来批量导入配置,也可以选择右侧的加号来添加一个配置文件
      • Data Id就是配置文件的名字,包括配置文件的后缀名,比如nacos-client-provider.yaml
      • Group就是配置文件要加入的组,一个配置文件是通过组名和文件名共同来确定唯一性的
      • 配置格式选择对应的配置格式
      • 配置内容就是配置的具体内容,务必按所选格式书写
      • 点击发布

    二、应用中如何使用Nacos配置中心的配置
    • 添加依赖
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
    
    • 添加配置文件bootstrap.yaml
    spring:
      application:
        name: nacos-client-provider
      cloud:
        nacos:
          # nacos config相关的配置
          config:
            # 配置中心地址,可以和服务中心的一样,也可以不一样
            server-addr: localhost:8848
            # 命名空间
            namespace: 0d12689e-cd5b-483b-a050-162398ee9482
            # 配置所在组
            group: nacos-client-provider-test
            # 配置文件的后缀名,默认是properties , 该项对Custom Data Id是不起作用的
            file-extension: yaml
            # 下方两个配置都是设置配置文件名的(除了后缀)优先级是 prefix > name > spring.application.name
            # prefix: nacos-client-provider
            # name: nacos-client-provider
            # 字符格式
            #encode: UTF-8
          # nacos discovery相关的配置
          discovery:
            server-addr: localhost:8848
            # 命名空间
            namespace: 0d12689e-cd5b-483b-a050-162398ee9482
    
    • 给需要注入配置的地方加上@Value注解
    @Value("${cn.mtk.nacos-test.hello}")
    private String hello;
    
    • Nacos支持随时发布新的配置,你可以在Nacos的控制台中点击编辑然后发布新的配置,你的应用会接收到发布的事件,并进行配置的更新。给需要动态更新配置的地方加上@RefreshScope注解,这样就可以在配置被更新时,更新整个需要动态配置的Bean
    @RestController
    @RequestMapping("/provider")
    @RefreshScope
    public class ProviderController {
    
        @Value("${cn.mtk.nacos-test.hello}")
        private String hello;
    
        @GetMapping("/getHello")
        public String getHello(){
            return hello;
        }
    }
    

    附:

    • Nacos中额外的全局设定如何配置
      如果我想给多个服务再多指定一个所有服务共享的配置
    spring:
      cloud:
        nacos:
          # nacos config相关的配置
          config:
            extension-configs:
              - dataId: application.yaml
                group: nacos-client-provider-test
                refresh: true
    

    参考文档:
    [1] spring cloud alibaba

    相关文章

      网友评论

          本文标题:配置中心:Spring Cloud Alibaba Nacos

          本文链接:https://www.haomeiwen.com/subject/rtrtahtx.html