Spring Cloud Alibaba教程:使用Nacos作为配置中心

转载请标明出处:
https://blog.csdn.net/forezp/article/details/90729945
本文出自方志朋的博客

个人博客纯净版https://www.fangzhipeng.com/springcloud/2019/06/01/sc-nacos-config.html

在上一篇文章中讲解了如何使用Nacos作为服务注册中心注册。Nacos除了可以作为服务注册中心,它还有服务配置中心的功能。类似于consul config,Nacos 是支持热加载的。本篇文章将讲述如何使用Nacos作为配置中心。

本案例是在上一篇文章(Nacos作为服务注册与发现)的nacos-provider工程上改造的,在工程的pom文件引入nacos-config的Spring cloud依赖,版本为0.9.0. RELEASE,代码如下:

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-alibaba-nacos-config</artifactId>
	<version>0.9.0.RELEASE</version>
</dependency>

在bootstrap.yml(一定是bootstrap.yml文件,不是application.yml文件)文件配置以下内容:

spring:
  application:
    name: nacos-provider
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        prefix: nacos-provider
  profiles:
    active: dev

在上面的配置中,配置了nacos config server的地址,配置的扩展名是ymal(目前仅支持ymal和properties)。注意是没有配置server.port的,sever.port的属性在nacos中配置。上面的配置是和Nacos中的dataId 的格式是对应的,nacos的完整格式如下:

${prefix}-${spring.profile.active}.${file-extension}
  • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
  • spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
  • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 propertiesyaml 类型。

启动nacos,登陆localhost:8848/nacos,创建一个data id ,完整的配置如图所示:

在这里插入图片描述
写一个RestController,在Controller上添加 @RefreshScope 实现配置的热加载。代码如下:

@RestController
@RefreshScope
public class ConfigController {

    @Value("${username:lily}")
    private String username;

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

启动工程nacos-provider,在浏览器上访问localhost:8761/username,可以返回在nacos控制台上配置的username。在nacos 网页上更改username的配置,在不重启nacos-provider工程的情况下,重新访问localhost:8761/username,返回的事修改后的值,可见nacos作为配置中心实现了热加载功能。

源码下载

https://github.com/forezp/SpringCloudLearning/tree/master/springcloud-alibaba/nacos-config

参考资料

https://nacos.io/zh-cn/docs/what-is-nacos.html


扫一扫,支持下作者吧

(转载本站文章请注明作者和出处 方志朋的博客

已标记关键词 清除标记
<p> <span>课程目录如下:</span> </p> <p> <span style="color:#333333;">第一章 课程介绍</span> </p> <p> <span style="color:#333333;"></span><span style="color:#333333;">第二章 微服务架构及注册中心eureka与nocos区别</span> </p> <p> <span style="color:#333333;"></span><span style="color:#333333;">第三章 nacos官网介绍及单机部署</span> </p> <p> <span style="color:#333333;"></span><span style="color:#333333;">第四章 nacos集群部署</span> </p> <p> <span style="color:#333333;"></span><span style="color:#333333;">第五章 nacos控制台介绍</span> </p> <p> <span style="color:#333333;"></span><span style="color:#333333;">第六章 注册中心nacos(服务注册与发现)</span> </p> <p> <span style="color:#333333;"></span><span style="color:#333333;">第七章 Http客户端及负载均衡之springcloud openfeign</span> </p> <p> <span style="color:#333333;"></span><span style="color:#333333;">第八章 nacos配置中心</span> </p> <p> <span style="color:#333333;"></span><span style="color:#333333;">第九章 课程总结</span> </p> <p> <span style="color:#333333;"><br /></span> </p> <p> <span style="color:#333333;"><span>Alibaba nacos于2018年7月开源,并开始逐步拥抱springcloud社区,alibaba微服务框架大有超越之势,目前热度非常高,其中注册中心nacos就像人之心脏,值得分享与学习下,</span></span><span style="color:#333333;">课件markdown资料及课程源码都已经上传。</span> </p> <p> <span style="color:#333333;"><br /></span> </p>
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页