SpringCloud Alibaba-Nacos作为配置中心

使用Nacos Config Starter 完成Spring Cloud应用的配置管理

如何接入

1、修改pom.xml文件,引入Nacos Config Starter

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

2、在应用的 /src/main/resources/bootstrap.properties 配置文件中配置 Nacos Config 元数据

#服务名称
spring.application.name=nacos-config-example
#配置中心的地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

3、需要给配置中心默认添加一个叫 数据集(Data Id)gulimall-coupon.properties。默认规则,应用名.properties

DATA ID 为红线处的文字 

4、给 应用名.properties 添加任何配置

5、完成上述两步后,应用会从 Nacos Config 中获取相应的配置,并添加在 Spring Environment 的 PropertySources 中。这里我们使用 @Value 注解来将对应的配置注入到 SampleController 的 userName 和 age 字段,并添加 @RefreshScope 打开动态刷新功能

 @RefreshScope
 class SampleController {

 	@Value("${user.name}")
 	String userName;

 	@Value("${user.age}")
 	int age;
 }

 @RefreshScope:动态获取并刷新配置
 @Value("${配置项的名}"):获取到配置。 

6、如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置

Nacos细节

1、命名空间

用于多租户数据(配置和服务)隔离,可以在相同的Group和Data ID的配置。NameSpace的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

默认:public(保留空间),默认新增的所有配置都在public空间

1、开发、测试、生产,利用命名空间来做环境隔离。注意:在bootstrap.pro[erties配置上,需要使用哪个命名空间下的配置

,等号后面的是nacos中命名空间的唯一id

2、每个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置

2、配置集

一组相关或者不相关的配置项的集合称为配置集。在系统中,一个配置文件通常就是一个配置集,包含了系统各个方面的配置。例如,一个配置集可能包含了数据源、线程池、日志级别等配置项。

3、配置集ID

类似于配置文件名

4、配置分组 

默认所有的配置集都属于:DEFAULT_GROUP

使用某个配置集:spring.cloud.nacos.config.group=分组名称

每个微服务创建自己的命名空间,使用配置分组区分环境。dev、test、prod

5、同时加载多个配置项

1)、微服务任何配置信息,任何配置文件都可以放在配置中心中

2)、只需要在bootstrap.properties说明加载配置中心中哪些配置文件即可

3)、@Value,@ConfigurationProperties。。。

 以前SpringBoot任何方法从配置文件中获取值,都能使用。

配置中心有的优先使用配置中心中的,

spring.application.name=gulimall-coupon

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=61cb53ac-4708-4cde-ac1e-361a42b46a76
spring.cloud.nacos.config.group=dev

spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[0].group=dev
#是否动态刷新
spring.cloud.nacos.config.ext-config[0].refresh=true

spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml
spring.cloud.nacos.config.ext-config[1].group=dev
spring.cloud.nacos.config.ext-config[1].refresh=true

spring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=dev
spring.cloud.nacos.config.ext-config[2].refresh=true

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值