Nacos是配置中心也是注册中心。
官方地址
注册中心
首先在pom文件里面引入配置
<!--nacos-注册中心--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> 在服务启动项上添加这个@EnableDiscoveryClient都是能够让注册中心能够发现,扫描到该服务
远程调用
pom文件引入依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
在启动项上添加@EnableFeignClients(basePachages="")扫描服务中标注了@FeignClient注解的接口的包路径
配置中心
<!--nacos-配置中心--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
创建一个bookstrap.properties,然后添加如下配置
spring.application.name=gulimail-coupon 应用名 spring.cloud.nacos.config.server-addr=127.0.0.1:8848 nacos地址
需要给配置中心默认添加一个叫 数据集(Data Id)gulimail-coupon.properties。默认规则 应用名.properties
给应用名.properties添加任何配置
动态获取配置
@RefreshScope:动态获取并刷新配置
@Vlaue(${配置项的名}):获取到配置。
如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置。
细节
命名空间:配置隔离:默认:public(保留空间):默认新增的所有配置都在public空间 开发、测试、生产:利用命名空间来做环境隔离。
注意:在bootstrap.properties配置上,需要使用哪个命名空间下的配置 spring.cloud.nacos.config.namespace=coupon 每一个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置
配置集:所有的配置的集合
配置集ID: 类似文件名
Data ID :类似文件名
配置分组: 配置所有的配置集都属于:DEFAULT_GROUP
同时加载多个配置集
微服务任何配置信息,任何配置文件都可以放在配置中心中 只需要在bootstrap.properties说明加载配置中心中哪些配置文件即可 @Value,@configurationProperties以前SpringBoot任何方法从配置文件中获取值,都能使用,配置中心有的优先使用配置中心中的。