在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config client。

一、 创建git地址

1. 使用码云创建git地址 https://gitee.com/fwk19840301

2. config-client-dev.properties  ---dev环境

3. 上传配置文件

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;
	}
}



Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐