Nacos配置中心
作用:
- 统一配置管理
- 配置自动刷新,热更新
实现:
-
统一配置管理
- 在nacos服务端,配置管理配置列表中新建配置
- 了解配置获取的步骤:
项目启动->读取nacos中配置文件->读取本地application.yml配置文件->创建spring容器->加载bean
bootstrap.yml:引导文件,执行优先级高于application.yml - 引入nacos的配置管理客户端依赖
<!-- nacos配置管理客户端依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
4. 在userservice中的resource目录添加一个bootstrap.yml文件,并注释application.yml中相同配置
spring:
application:
name: userservice #服务名称
profiles:
active: dev #开发环境,这里是dev
cloud:
nacos:
server-addr: localhost:8840
config:
file-extension: yaml #文件名后缀
-
配置自动刷新,热更新
- 方式一:在@Value注入的变量所在类上添加注解@RefreshScope
- 方式二:使用@ConfigurationProperties注解
@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
private String dateFormat;
}
//注入
@Autowired
private PatternProperties patternProperties;
多环境共享
原理:
- 微服务启动时会从nacos读取多个配置文件
- [spring.application.name]-[spring.profiles.active].yaml,如userservice-dev.yml
- [spring.application.name].yml,例如:userservice.yml
2.无论怎么变化,[spring.application.name].yml这个文件始终会加载,因此多环境共享配置可以写入这个文件
多环境优先级:
服务名-profile.yaml>服务名.yaml>本地配置
例如:
userservice-dev.yaml>userservice.yaml >application.yml
Nacos集群搭建
实现:
- 搭建数据库,初始化数据库表结构
- 下载nacos安装包
- 配置nacos
- 启动nacos集群
- nginx反向代理