1. 程式人生 > >SpringCloud 構建統一配置中心

SpringCloud 構建統一配置中心

近幾年,微服務概念大火,隨之基於SpringBoot 基礎上近一步提供微服務基礎框架的springCloud也隨之大火起來。提供了一整套的微服務處理框架,包括服務註冊與發現,統一配置中心、負載均衡等等。
最近因為工作不是很忙,利用空閒的時間,做了一個關於SpringCloud的統一配置中心來做練習。
1、新建一個Maven工程(直接建立springBoot也可以)。

這裡寫圖片描述
其中,configserver01是用來儲存所有專案的配置檔案的。按照每個模組的名稱進行劃分。springCloud會根據applicationName以及profiles來決定讀取那部分的配置。
2.新建一個springCloud的工程(此服務作為統一配置中心)
這裡寫圖片描述


其中,在application.properties 檔案中配置關於需要獲取配置檔案的git地址,以及檔案的子目錄。

spring.application.name=spring-cloud-config-server
server.port=8888
spring.cloud.config.label==master
spring.cloud.config.server.git.uri=https://github.com/wangtao1234/config-server.git
spring.cloud.config.server.git.search-paths=configserver01/config/public,configserver01/config/{application}

ps:這邊有個引數需要注意一下,spring.cloud.config.server.git.search-paths 這個引數含義為“如果git倉庫 下有多個子專案,需要制定需要讀取哪個子專案的屬性檔案,如果你的git倉庫下只有一個專案,則該引數配置無效。只需要在專案的根路徑下直接建立屬性配置檔案,(不可以用資料夾來做劃分
類似這種直接在倉庫根路徑下建立檔案。
這裡寫圖片描述

然後建立客戶端,在客戶端配置統一配置中心的url以及需要讀取哪個環境的配置檔案即可。

spring.application.name=test
spring.cloud.config.label=master
spring.cloud
.config.profile=pro spring.cloud.config.uri=http://localhost:8888 spring.cloud.config.discovery.enabled=true

這裡大概講一下springCloud 是如何讀取配置檔案的。

客戶端通過配置應用名:spring.application.name=test 以及 環境spring.cloud.config.profile=pro
那麼就會讀取配置中心的test-pro.properties 檔案以及 application-pro.properties檔案。大致邏輯就是這樣。主要一個主意點在於 如果是在git倉庫只有一個專案的時候,那麼
spring.cloud.config.server.git.search-paths
這個指定子專案地址的屬性就不起作用,只能在專案根路徑下直接建立各個環境的屬性檔案。