分布式配置中心
在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config client。
一、 创建git地址
使用码云创建git地址 https://gitee.com/fwk19840301
config-client-dev.properties —-dev环境
上传配置文件
userName=dev-fwk19840301
二、创建config-server项目
1.配置文件
spring.application.name=config-server
server.port=8889
spring.cloud.config.server.git.uri=https://gitee.com/itmayi/cfg2.git
spring.cloud.config.server.git.searchPaths=respo
spring.cloud.config.label=master
spring.cloud.config.server.git.username=
spring.cloud.config.server.git.password=
spring.cloud.config.server.git.uri:配置git仓库地址
spring.cloud.config.server.git.searchPaths:配置仓库路径
spring.cloud.config.label:配置仓库的分支
spring.cloud.config.server.git.username:访问git仓库的用户名
spring.cloud.config.server.git.password:访问git仓库的用户密码
2、pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
3、启动config-server项目
@SpringBootApplication
@EnableConfigServer //开启configServer 注解
public class ConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApplication.class, args);
}
}
4、http://localhost:8889/foo/dev 查询配置中心
二、创建config-client项目
1.配置文件
spring.application.name=config-client
spring.cloud.config.label=master
spring.cloud.config.profile=dev
spring.cloud.config.uri= http://localhost:8888/
server.port=8881
· spring.cloud.config.label 指明远程仓库的分支
· spring.cloud.config.profile
· dev开发环境配置文件
· test测试环境
· pro正式环境
· spring.cloud.config.uri= http://localhost:8888/ 指明配置服务中心的网址。
2.pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
3.启动config-client项目
@SpringBootApplication
@RestController
public class ConfigClientApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigClientApplication.class, args);
}
@Value("${userName}")
String userName;
@RequestMapping(value = "/getUserName")
public String getUserName () {
return userName;
}
}
还没有评论,来说两句吧...