SpringCloud Alibaba-Nacos配置中心测试

一. 使用配置中心的目的

可以实现热部署,对于修改application.yml中的配置数据,不需要重启服务即可读取到最新的修改后的数据。

二. 步骤

  1. 修改 pom.xml 文件,引入 Nacos Config Starter
 <dependency>
     <groupId>com.alibaba.cloud</groupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
 </dependency>
  1. 在 /src/main/resources/下增加bootstrap.properties 配置文件,用于配置 Nacos Config 元数据
 spring.application.name=微服务名
 spring.cloud.nacos.config.server-addr=127.0.0.1:8848
  1. 给配置中心添加一个叫gulimall-coupon.properties的数据集(Data Id),并添加上配置信息。命名是默认规则:应用名.properties
    在这里插入图片描述
    在这里插入图片描述

  2. 完成上述步骤后,应用会从 Nacos Config 中获取相应的配置

  3. 动态获取配置

(1)@RefreshScope:放在Controller类上,用于动态获取并刷新配置

@RefreshScope
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
    @Autowired
    private CouponService couponService;
    @Value("${coupon.user}")
    private String userName;
    @Value("${coupon.age}")
    private String age;


}

(2)@Value("${配置项}"):获取到配置数据

  1. 配置完成,启动项目进行测试。

注意:如果配置中心和当前应用的application.yml配置文件中都配置了相同的项,优先使用配置中心的配置。

原文资料: https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/readme-zh.md

三、核心概念

  1. 命名空间
    用于配置隔离。不同的命名空间下,可以存在相同的Group或Data ID的配置,namespace的常用场景之一是不同环境的配置的区分隔离。eg: 开发、测试、生产环境的隔离等。
  2. 配置集
    一组相关或不相关的配置项的集合称为配置集。在系统中,一个配置文件通常就是一个配置集,包含了系统各个方面的配置。例如:一个配置集可能包含了数据源、线程池、日志级别等配置项。
  3. 配置集ID(类似文件名)
    Nacos中的某个配置集的ID。Data ID通常用于组织划分系统的配置集。
  4. 配置分组
    默认所有的配置集都属于:DEFAULT_GROUP;
    Nacos中的一组配置集

在微服务架构中,可以让每个微服务创建自己的命名空间,然后在各自的命名空间中使用分组来区分环境(dev、test、prod)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值