spring-cloud-config 搭建-入门级(一)
明確幾個工程的端口
| config-server | config的配置服務端 | 配置了8080dev, 8082prd |
| config-client | 為了測試調用的demo | 8889 |
| eureka-provider | 實際項目演練的工程 | 配置了8080dev, 8082prd |
| eureka-server | eureka 的服務注冊中心 | 8761 |
本文github地址
遠端配置文件
github.com/xueshuiyy/s…
配置client和server端
github.com/xueshuiyy/s…
明確遠端配置文件工程的路徑和文件名
我的git上的路徑:
DEMO 搭建過程
父工程
父工程引入server和client都需要的starter-config
<!-- 引入spring cloud 的config依賴 --> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId> </dependency> 復制代碼必須要指定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> 復制代碼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> 復制代碼2. 依賴config-server
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId> </dependency> 復制代碼主類添加@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);}} 復制代碼配置文件
server.port: 8888# 配置git倉庫地址 spring.cloud.config.server.git.uri=https://github.com/xueshuiyy/spring-cloud-config-center.git # 配置倉庫路徑,下圖圈紅的就是這個文件夾名 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= 復制代碼Client端
配置依賴
由于父工程已經配置了 spring-cloud-starter-config 的依賴了,所以Client就不需要在配置了。只是需要用rest測試一下,所以引入web的依賴
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency> 復制代碼配置文件
做一個bootstrap.yml(properties)的文件,application.properties文件就可寫可不寫了,bootstrap 的配置文件會覆蓋掉application的配置文件。聯想到雙親委派機制(向上委托,向下加載),bootstrap-> extend -> app
server.port=8889 # 和git里的文件名對應,下圖的圈紅 spring.application.name=config-client # 遠程倉庫的分支 spring.cloud.config.label=master # dev 開發環境配置文件 | test 測試環境 | pro 正式環境 # 和git里的文件名對應,我們可以配置多個文件來區分不同環境的配置 spring.cloud.config.profile=dat # 指明配置服務中心的網址 spring.cloud.config.uri= http://localhost:8888/ 復制代碼搭建完畢的訪問地址
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
證明配置服務中心可以從遠程程序獲取配置信息。
client端訪問地址
http://localhost:8889/hi
搭建后優化
1 先把所有的properties 改成 yml
2 優化配置中心的配置文件為一個
這樣配置完畢后,啟動的端口也完全由 client的配置文件 bootstrap.xml 配置的環境來決定了
3 驗證 用config-client工程驗證
http://localhost:8082/hi 結果:
轉載于:https://juejin.im/post/5cd52ff76fb9a0321556fd2b
總結
以上是生活随笔為你收集整理的spring-cloud-config 搭建-入门级(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常见的几种异常类型 Exception
- 下一篇: cosbench 安装