spring-cloud-config 搭建-入门级(一)
明確幾個(gè)工程的端口
| config-server | config的配置服務(wù)端 | 配置了8080dev, 8082prd |
| config-client | 為了測試調(diào)用的demo | 8889 |
| eureka-provider | 實(shí)際項(xiàng)目演練的工程 | 配置了8080dev, 8082prd |
| eureka-server | eureka 的服務(wù)注冊(cè)中心 | 8761 |
本文github地址
遠(yuǎn)端配置文件
github.com/xueshuiyy/s…
配置client和server端
github.com/xueshuiyy/s…
明確遠(yuǎn)端配置文件工程的路徑和文件名
我的git上的路徑:
DEMO 搭建過程
父工程
父工程引入server和client都需要的starter-config
<!-- 引入spring cloud 的config依賴 --> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId> </dependency> 復(fù)制代碼必須要指定springcloud的版本!
<!-- 依賴管理 --> <!-- spring-cloud-version 在properties里配置: <spring-cloud-version>Greenwich.SR1</spring-cloud-version> --> <dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud-version}</version><type>pom</type><scope>import</scope></dependency></dependencies> </dependencyManagement> 復(fù)制代碼Server端
1. 在pom中 指定好父工程
<parent><groupId>lin.springcloud</groupId><artifactId>spring-cloud-config-lin</artifactId><version>0.0.1-SNAPSHOT</version><relativePath/> <!-- lookup parent from repository --> </parent> 復(fù)制代碼2. 依賴config-server
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId> </dependency> 復(fù)制代碼主類添加@EnableConfigServer注解
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.config.server.EnableConfigServer;@SpringBootApplication @EnableConfigServer public class ConfigServerApplication {public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class, args);}} 復(fù)制代碼配置文件
server.port: 8888# 配置git倉庫地址 spring.cloud.config.server.git.uri=https://github.com/xueshuiyy/spring-cloud-config-center.git # 配置倉庫路徑,下圖圈紅的就是這個(gè)文件夾名 spring.cloud.config.server.git.search-paths=clientconfig # 配置倉庫的分支 spring.cloud.config.label=master # 訪問git倉庫的用戶名 spring.cloud.config.server.git.username=xueshuiyy # 訪問git倉庫的用戶密碼 如果Git倉庫為公開倉庫,可以不填寫用戶名和密碼,如果是私有倉庫需要填寫 spring.cloud.config.server.git.password= 復(fù)制代碼Client端
配置依賴
由于父工程已經(jīng)配置了 spring-cloud-starter-config 的依賴了,所以Client就不需要在配置了。只是需要用rest測試一下,所以引入web的依賴
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency> 復(fù)制代碼配置文件
做一個(gè)bootstrap.yml(properties)的文件,application.properties文件就可寫可不寫了,bootstrap 的配置文件會(huì)覆蓋掉application的配置文件。聯(lián)想到雙親委派機(jī)制(向上委托,向下加載),bootstrap-> extend -> app
server.port=8889 # 和git里的文件名對(duì)應(yīng),下圖的圈紅 spring.application.name=config-client # 遠(yuǎn)程倉庫的分支 spring.cloud.config.label=master # dev 開發(fā)環(huán)境配置文件 | test 測試環(huán)境 | pro 正式環(huán)境 # 和git里的文件名對(duì)應(yīng),我們可以配置多個(gè)文件來區(qū)分不同環(huán)境的配置 spring.cloud.config.profile=dat # 指明配置服務(wù)中心的網(wǎng)址 spring.cloud.config.uri= http://localhost:8888/ 復(fù)制代碼搭建完畢的訪問地址
server端訪問地址
/{application}/{profile}[/{label}] http://localhost:8888/config-client/dev
/{application}-{profile}.yml /{application}-{profile}.properties http://localhost:8888/config-client-dev.properties
/{label}/{application}-{profile}.properties /{label}/{application}-{profile}.yml http://localhost:8888/master/config-client-dev.properties
證明配置服務(wù)中心可以從遠(yuǎn)程程序獲取配置信息。
client端訪問地址
http://localhost:8889/hi
搭建后優(yōu)化
1 先把所有的properties 改成 yml
2 優(yōu)化配置中心的配置文件為一個(gè)
這樣配置完畢后,啟動(dòng)的端口也完全由 client的配置文件 bootstrap.xml 配置的環(huán)境來決定了
3 驗(yàn)證 用config-client工程驗(yàn)證
http://localhost:8082/hi 結(jié)果:
轉(zhuǎn)載于:https://juejin.im/post/5cd52ff76fb9a0321556fd2b
總結(jié)
以上是生活随笔為你收集整理的spring-cloud-config 搭建-入门级(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常见的几种异常类型 Exception
- 下一篇: cosbench 安装