開宗明義
在分布式系統(tǒng)中罐寨,由于服務(wù)數(shù)量巨大自沧,為了方便服務(wù)配置文件統(tǒng)一管理昆汹,實(shí)時(shí)更新明刷,所以需要分布式配置中心組件。在Spring Cloud中满粗,有分布式配置中心組件spring cloud config 遮精,它支持配置服務(wù)放在配置服務(wù)的內(nèi)存中(即本地),也支持放在遠(yuǎn)程Git倉庫中败潦。在spring cloud config 組件中,分兩個(gè)角色准脂,一是config server劫扒,二是config client
1 構(gòu)建config server
1.1 創(chuàng)建springboot項(xiàng)目作為config server,命名為config-server
1.2 創(chuàng)建后的pom.xml文件(引入eureka狸膏,config server依賴)
1.3 啟動類ConfigServerApplication 沟饥,加上@EnableConfigServer注解開啟配置服務(wù)器的功能
1.4 配置application.properties文件
spring.cloud.config.server.git.uri:配置git倉庫地址(最好是https,ssh實(shí)踐中可能會出錯(cuò),原因尚待研究)
spring.cloud.config.server.git.searchPaths:配置倉庫路徑
spring.cloud.config.label:配置倉庫的分支
spring.cloud.config.server.git.username:訪問git倉庫的用戶名
spring.cloud.config.server.git.password:訪問git倉庫的用戶密碼
1.6 啟動工程,訪問localhost:8771/foo/dev幼驶,證明配置服務(wù)中心可以從遠(yuǎn)程程序獲取配置信息
http請求地址和資源文件映射如下:
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
2 構(gòu)建config client
2.1 創(chuàng)建springboot項(xiàng)目作為config client艾杏,命名為config-client
2.2 創(chuàng)建后的pom.xml文件(引入config client,web依賴)
2.3 配置bootstrap.properties文件
spring.cloud.config.label 指明遠(yuǎn)程倉庫的分支
spring.cloud.config.profile 環(huán)境配置
dev開發(fā)環(huán)境
test測試環(huán)境
pro正式環(huán)境
spring.cloud.config.uri= http://localhost:8771/指明配置服務(wù)中心的網(wǎng)址
2.4 啟動類寫一個(gè)API接口“/hi”,返回從配置中心讀取的foo變量的值
2.5 啟動工程盅藻,訪問localhost:8772/hi购桑,說明config-client從config-server獲取了foo的屬性,而config-server是從git倉庫讀取的
2.5.1 如圖所示
未完待續(xù)......