欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Cloud Alibaba-使用nacos做注册中心

程序员文章站 2022-07-15 09:49:31
...

echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075) 交流学习。


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

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

在nacos控制台添加配置

Spring Cloud Alibaba-使用nacos做注册中心

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做注册中心

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做注册中心

动态配置

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

添加完成之后,重启项目,然后我们可以多次修改配置中心的配置值,会发现,项目不需要重启也能读取到我们修改好的配置
Spring Cloud Alibaba-使用nacos做注册中心

思考

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

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