spring cloud微服务快速教程之(八) Spring Clo…

2020-02-22 16:05:16来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

spring cloud微服务快速教程之(八) Spring Cloud Alibaba--nacos(二)、配置中心

0-前言

  上一篇我们介绍了nacos作为服务注册发现组件的功能,nacos还具有配置中心的功能,而且支持热加载;

  在此之前,配置中心有Spring Cloud Config,实际上,用这个有很多风险和隐忧,有了nacos,我们可以大舒一口气了,Spring Cloud Config从此只存在垃圾桶;

1、运行nacos

  跟上篇

2、集成nacos配置中心

2-1、添加依赖:

  新建nacos-user-config模块,添加依赖:

       <!-- 集成nacos 服务发现 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>

        <!-- 集成nacos 配置中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>

2-2、增加配置文件bootstap.yml

(不是application.yml文件,这个bootstrap是程序引导配置,先于application执行)

server:
  port: 8763
spring:
  application:
    name: nacos-user-config
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        prefix: nacos-user-config
  profiles:
    active: dev

 

config:配置了nacos config server的地址,
file-extension:为配置内容的数据格式,表示扩展名是ymal(目前支持ymal和properties)
prefix:默认为 spring.application.name 的值
spring.profile.active: 即为当前环境对应的 profile
配置是和Nacos中的dataId 的格式是对应的,nacos种dataID的完整格式如下: ${prefix}-${spring.profile.active}.${file-extension}

以上配置,对应nacos中的dataID为:nacos-user-config-dev.yaml

注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}

2-3、nacos 中增加配置项:

点击+号新增nacos-user-config微服务的配置项:

 

 

 

 2-4、项目中应用

在Controller上添加 @RefreshScope 实现配置的热加载,代码如下:

@RestController
@RequestMapping("/user")
@RefreshScope  //配置热加载
public class UserController
{
    //------------配置中心测试
    @Value("${username}")
    private String username;

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

 2-5、运行测试

运行项目,可以看到已经读取到了nacos中的配置:

 

 更新nacos中的配置并发布,这时候看到项目已经获取了最新的配置,说明实现了热加载:

 

 

 

 

nacos就是这么简单高效易用,微服务没理由不选它,下一节我们介绍另一杀器Sentinel;


原文链接:https://www.cnblogs.com/yanghj/p/12345185.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:使用java基础实现一个简陋的web服务器软件

下一篇:Request&amp;Response