SpringCloud 19 —— 配置中心之Nacos

前面在注册中心章节已经讲Nacos 的介绍和基本使用讲解了,下面我们就直接来讲Nacos 的配置中心功能,这一点是很不错的,把注册中心和配置中心功能合并在一起,减少了运维部署。

(这里只是一个简单的示例,后续使用见之后的SpringCloud进阶篇)

新建项目模块

cloud-config-center

引入依赖

这里需要引入spring-cloud-starter-alibaba-nacos-config来拉去和监听nacos的变化。另外这里和上节apollo 不同的是我们多引入了spring-cloud-starter-netflix-eureka-client,实现我们把配置放在配置配置中心,观察能否注册到Eureka上,上节apollo 的演示引入这个包也可以实现相同的效果。

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.2.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
    </dependencies>

添加配置
配置中需要配置nacos的地址、分组名称、配置名称、以及配置类型

bootstrap.yml:

spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        group: DEFAULT_GROUP
        prefix: application
        file-extension: yaml

启动类

@EnableDiscoveryClient
@SpringBootApplication
public class ConfigNacosClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigNacosClientApplication.class, args);
    }
}

控制层代码

这里和apollo不同的是需要加上@RefreshScope,用于监听配置修改的变化

@RestController
@RequestMapping("/config")
@RefreshScope
public class TestController {
    @Value("${cloud.config.name:test}")
    private String configName;

    @RequestMapping("/get")
    public String get() {
        return configName;
    }
}

启动应用

注意先启动nacos服务。

在Nacos控制台看到配置中心注册监听成功

访问测试

在nacos中修改cloud.config.name的值为nacos20200314
变更的时候可以看到控制台的变化,再次请求值已经变化。

更新时间:2020-07-03 22:28:00

本文由 寻非 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
原文链接:https://www.zhouning.group/archives/springcloud19配置中心之nacos下
最后更新:2020-07-03 22:28:00

评论

Your browser is out of date!

Update your browser to view this website correctly. Update my browser now

×