Alibaba Cloud微服务架构之Nacos配置中心

  • Post author:
  • Post category:其他




简介

Nacos 是一个集动态服务发现、配置和服务管理微服务于一体的服务平台。同时Nacos 提供了一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。



1、pom.xml依赖配置

<!--Nacos服务发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--Nacos服务配置-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>



2、新增bootstrap.yml文件并配置,application.yml可以不用配置

在这里插入图片描述

因为bootstrap.yml会比application.yml文件优先加载,注意application.name:” cloud_config” 不能包含‘



’,可以使用‘

_

spring:
  application:
    ## 只能下划线
    name: cloud_config
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
      discovery:
        server-addr: 127.0.0.1:8848



3、登录Nacos新建配置


nacos安装配置参考官网文档:https://nacos.io/zh-cn/docs/what-is-nacos.html

新建配置文件要点:

1、配置文件名=项目名称+当前配置文件类型(prod/dev)+.yaml,如下图:当前配置文件cloud_config.yaml

2、配置格式选择YAML

3、配置内容按照application.yml内容填,根据需要配置。

在这里插入图片描述

在这里插入图片描述



4、配置调用刷新@RefreshScope

@RefreshScope nacos动态刷新,在需要动态配置的地方添加

@Slf4j
@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {

    @Value("${app.id}")
    private Integer id;
    @Value("${app.msg}")
    private String msg;

    @GetMapping("/info")
    public String getInfo(){
        return "你好! 我的名字叫"+this.msg+",年龄"+this.id+"岁!";
    }
}



5、postman调用测试

在线修改配置值,将id由9999改为6666,动态刷新成功!如下图所示。

修改前

修改后



版权声明:本文为Niezhuxue原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。