上一篇文章:SpringCould2.x Greenwich版本搭建:(四)使用Zuul网关
1.分布式配置中心作用
SpringCloud Config 配置中心用来管理各个微服务的配置文件,修改配置文件内容可以实时刷新,不需要重新打包发布项目
Spring Cloud Config Server最常见是将配置文件存放方式有3种:
(1)本地
(2)远程Git仓库
(3)局域网数据库
我这里使用gitee来实现配置中心
2.登录Gitee创建仓库
修改仓库中的文件,为了测试config获取得到configtest-dev中的内容
3.创建Module项目SpringCloud-config子项目
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itlinli</groupId>
<artifactId>springcould-config</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springcould-config</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>com.itlinli</groupId>
<artifactId>springcould-2</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
4.配置文件
server.port=8034
#注册服务名称
spring.application.name=server-config
#gitee仓库地址
spring.cloud.config.server.git.uri=https://gitee.com/GFCM_zhulin/springcould2.git
#登录账户
spring.cloud.config.server.git.username=xxx
#登录密码
spring.cloud.config.server.git.password=xxx
#分支
spring.cloud.config.label=master
eureka.client.service-url.defaultZone= http://localhost:8800/eureka/
5.主程序
@SpringBootApplication
@EnableConfigServer
@EnableEurekaClient//注册到Eureka
public class SpringcouldConfigApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcouldConfigApplication.class, args);
}
}
6.启动测试
现在如何管理其他配置文件呢?我们接下来拿提供者里面的配置文件来做试验
7.gitee添加提供者的配置文件
8.把提供者producer中的配置文件删除,新增bootstrap.yml
spring:
cloud:
config:
name: producer #gitee中producer-dev配置文件名中前部分名字
profile: dev #gitee中producer-dev配置文件名中后部分名字
label: master
uri: http://localhost:8034 #config配置中心地址
9.提供者中添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
10.拿gitee配置文件中的name来测试
@RestController
@RefreshScope
public class MessageController {
@Value("${server.port}")
String port;
@Value("${name}")
String names;
@GetMapping("/get")
public String getMessage(@RequestParam("name")String name){
return "Hi " + name + " ,I am from port:" + port+"name="+names;
}
}
11.启动测试,也可以消费者调者调用该方法测试
现在配置文件可以读取到了,那么存在一个问题,就是在gitee上修改内容如何更新的问题,下一章更新springcloud bus