目录
一 分布式配置中心产生的背景
问题:
传统的项目配置文件的管理异常复杂,如果项目在上线的情况下需要修改配置文件,就需要重新的打包部署;
解决:
分布式配置中心在不重启服务器的情况下,自动的刷新配置文件;
二 SpringCloudAlibaba整合Nacos
1、导入Pom依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
2、在Nacos平台创建配置文件
其中,Data ID命名必须为:服务名称-版本.yaml
3、在本地创建配置文件
server:
port: 8080
spring:
application:
name: springcloudalibaba-producer
cloud:
nacos:
discovery:
###服务注册地址
server-addr: ip地址:8848
config:
server-addr: ip地址:8848
group: DEFAULT_GROUP
file-extension: yaml
其中配置文件的命名为:bootstrap.yml,否则可能会报错;
4、示例代码
@RestController
@RefreshScope
public class ProducerController {
@Value("${top.fanaozhe}")
private String name;
@RequestMapping("/getName")
public String getName(){
return name;
}
}
4、测试访问
启动服务后访问 IP地址:8080/getName
三 多环境配置
1、在Nacos平台分别创建配置文件
开发环境:springcloudalibaba-producer-dev.yaml
生产环境:springcloudalibaba-producer-pro.yaml
测试环境:springcloudalibaba-producer-qa.yaml
2、本地配置文件
server:
port: 8080
spring:
application:
name: springcloudalibaba-producer
cloud:
nacos:
discovery:
###服务注册地址
server-addr: ip地址:8848
config:
server-addr: ip地址:8848
group: DEFAULT_GROUP
file-extension: yaml
profiles:
active: dev
由配置文件可知:激活dev环境
3、测试访问
启动服务后访问 IP地址:8080/getName