SpringCloud分布式(五)分布式统一配置Config使用详解

在分布式系统中,配置尽可能的不放到每个项目的配置文件中,因为这样改动起来很麻烦,而是放到一个集中的配置服务器上。举例子:在数据库中搞一个T_Configs表。
Spring cloud Config是一个用Git进行配置信息存储的配置服务器,各个应用可以从他里面加载配置。

首先要配置git服务器。当然也可以使用公共的git服务器,下面演示使用现成的git服务器
创建ConfigServer:创建Spring Starter项目,勾选ConfigServer。XXXApplication上标注@EnableConfigServer。

application.properties文件配置以下
spring.application.name=config-server
server.port=8888
spring.cloud.config.server.git.uri=https://github.com/forezp/SpringcloudConfig/
spring.cloud.config.server.git.searchPaths=respo
spring.cloud.config.label=master

如果读取git还需要用户密码的话,那就还要配置spring.cloud.config.server.git.username、spring.cloud.config.server.git.password

spring.cloud.config.server.git.searchPaths=respo表示从respo中找到匹配的内容。
3、创建Config读取使用者。比如创建一个Web项目,并且勾选ConfigClient
在application.properties中配置
spring.application.name=config-client
spring.cloud.config.label=master
spring.cloud.config.profile=dev
spring.cloud.config.uri= http://localhost:8888/
server.port=10010

会读取和自己应用名字一样的配置文件下的内容,也就是配置文件的文件名要和使用者的“spring.application.name”一致。

其中spring.cloud.config.profile表示读取哪个profile的文件。spring.cloud.config.uri表示Config服务器地址

4、使用@Value读取配置中名字为foo的内容。

@RestController
@RequestMapping("/main")
public class MainController {
	
	@Value("${foo}")
	String foo;
	
	@RequestMapping("/test1")
	public String test1()
	{
		return foo;
	}
}

我在开源项目中也使用到了类似的配置可以参考:
跳转

https://github.com/RAOE/Cloud_Ixu

https://github.com/RAOE/show-videos

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章