0
点赞
收藏
分享

微信扫一扫

Spring Cloud Alibaba-使用nacos做配置中心




相信很多学过SpringCloud的朋友都知道config一直是Netflix的痛点,这里我们先来看看nacos是怎么玩config的


这里选择直接在consumer项目当中来完成nacos配置中心的使用,这也是演示Alibaba和NetFlix的区别

在nacos控制台添加配置

Spring Cloud Alibaba-使用nacos做配置中心_SpringCloud

​Data ID​​: 对应的就是我们consumer项目中命名​​的spring.application.name​​对应的值

​Group​​: 我们这里并没有定义分组,所以直接使用默认分组

​MD5​​: 是后面生成的,保存只有就有了

配置内容项注意选择文件格式,我习惯使用yml,所以选择的yaml

添加依赖

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

创建bootstrap文件

项目启动的时候bootstrap会先去加载远程配置,然后项目才会读取本地文件

Spring Cloud Alibaba-使用nacos做配置中心_config_02

spring:
cloud:
nacos:
config:
server-addr: 192.168.253.1:8848
file-extension: yaml

读取远程配置

跟我们直接读取本地application是一样的,我们这里创建一个http接口,一遍在浏览器调用

@RestController
public class Test {

@Value("${config.test}")
private String value;

@GetMapping("/config/test")
public String configTest() {
return value;
}

}

界面调用

Spring Cloud Alibaba-使用nacos做配置中心_nacos_03

动态配置

我们知道NetFlix中config最大的痛点就是没有灰度发布,或者说不能使用动态配置,当我们修改远程配置中心的配置之后,本地的项目并不能使用到最新的,很多公司都在使用Apollo,更提高了服务成本,nacos解决了这个问题。我们要使用动态配置,只需要在对应的上面添加这个注解即可​​@RefreshScope​

添加完成之后,重启项目,然后我们可以多次修改配置中心的配置值,会发现,项目不需要重启也能读取到我们修改好的配置

Spring Cloud Alibaba-使用nacos做配置中心_分布式_04

思考

配置中心是怎么动态加载远程配置的

  • 上一篇:Spring Cloud Alibaba-整合Feign调用接口
  • 下一篇:Spring Cloud Alibaba-注册中心实现多人开发环境隔离


举报

相关推荐

0 条评论