4.Spring Cloud Alibaba教程:Nacos配置管理

概述

Nacos作为配置中心,跟传统的配置文件不同。它可以实现线上修改配置,实时生效,中间不需要重启任何应用。

知识点

  • Nacos通过Namespace、Group、DataID来做多环境配置,他们之间的关系如下
    在这里插入图片描述

  • Namespace主要用来区分部署环境的,比如开发环境dev、测试环境test、生产环境prod,他们之间互相是隔离的。Nacos默认的命名空间是public,不可以编辑,也不可以删除

  • Nacos默认的Group是DEFAULT_GROUP,Group可以把不同的微服务划分到同一个分组,例如某电商系统的订单服务、仓储服务、支付服务。

  • DataID是具体的微服务实例,通常每个服务对应一个DataID

引入依赖

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

Controller修改

  • 在Controller类上添加注解 @RestController,实现配置的自动更新
  • 在Controller定义接口,读取配置项developer.author,以此来验证配置实时更新
@RestController
@RefreshScope
public class HelloController {
    
    

    @Value("${server.port}")
    private String port;

    @Value("${developer.author}")
    private String author;

    @RequestMapping(value = "/echo/{name}", method = RequestMethod.GET)
    public String echo(@PathVariable String name){
    
    
        return "Hello Nacos:" + name +
                ",Port:" + port +
                ",author:" + author;
    }
}

Nacos配置

在Nacos的菜单 配置管理 -> 配置列表 点击新增,创建新的配置

  • Data ID:这里定义为test-provider-config.yaml,完整格式如下
${prefix}-${spring.profiles.active}.${file-extension}

prefix: 默认是spring.application.name值,也可以通过spring.cloud.nacos.config.prefix项进行配置

spring.profiles.active: 即为当前环境对应的profile,注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 $ {prefix}.${file-extension}

file-exetension: 配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型


  • 配置格式:这边选择yaml

  • 配置内容:把原生产者项目的application.yml拷过来,并添加developer.author测试项

在这里插入图片描述

spring:
  application:
    name: test-provider
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.25.131:8848

server:
  port: 8010

management:
  endpoints:
    web:
      exposure:
        include: "*"

developer:
  author: 张三

bootstrap.properties

  • 删除生产者工程的application.yml文件,因为我们已经复制到Nacos配置了
  • 创建bootstrap.properties,这是SpringBoot工程第一个加载的配置文件。把以下配置复制进去,IP改成自己的就行
spring.application.name=test-provider-config
spring.cloud.nacos.config.server-addr=192.168.25.131:8848
spring.cloud.nacos.config.file-extension=yaml

测试

运行Provider程序,测试接口http://localhost:8010/echo/zhangsan。结果如下,有正确地读到了Nacos配置的developer.author

在这里插入图片描述
打开Nacos把刚才的developer.author改成李四,然后点击发布按钮

developer:
  author: 李四

再次测试
在这里插入图片描述
Nacos配置中心的基本使用就到这里了
最后,如果觉得这篇文章对您有所帮助,帮忙点赞+关注,谢谢。
本人将长期发布技术文章~~

猜你喜欢

转载自blog.csdn.net/qq_28834355/article/details/108783161