為此,在分布式系統中,spring cloud提供乙個config子專案,該專案核心就是配置中心,通過乙個服務端和多個客戶端實現配置服務。我們可使用配置伺服器集中的管理所有服務的各種環境配置檔案。配置服務中心預設採用git的方式進行儲存,因此我們很容易部署修改,並可以對環境配置進行版本管理。
spring cloud config具有中心化、版本控制、支援動態更新和語言獨立等特性。其特點是:
spring cloud config的結構圖如下:
config-結構圖
從圖中可以看出spring cloud config有兩個角色(類似eureka): server和client。spring cloud config server作為配置中心的服務端承擔如下作用:
而對於,spring cloud config client則非常方便,只需要在啟動配置檔案中增加使用config server上哪個配置檔案即可。
pom如下
org.springframework.cloud啟動類@enableconfigserverspring-cloud-config-server
public static void main(string args)
}其中增加了@enableconfigserver
server.port=8890這裡最重要的是需要配置git倉庫的位址及登入使用者名稱和口令。spring.cloud.config.server.git.uri=
spring.cloud.config.server.git.username=登入名
spring.cloud.config.server.git.password=密碼
我們在springcloundconfiggit倉庫中提交如下檔案
user.properties
project.name = skyuser-dev.properties
project.description = dev-description啟動測試
}]}這裡可以看到,我們提交到git中的配置檔案已經能夠被server-config正確的讀取到。
config-client可以是任何乙個基於spring boot的應用,這裡為了講解方便,我們構建乙個非常簡單的web工程。
我們的config-client
專案需要引入對spring-cloud-starter-config
的依賴,如下:
啟動類乙個標準的spring boot啟動類:
public static void main(string args)
}編寫測試controller
這個測試controller主要就是驗證我們可以從git倉庫中獲取配置內容。
@restcontroller編寫配置檔案public class configcontroller ")
string name;
@value("$")
string description;
public string getmessage()
}
這裡編寫的配置檔案名稱為:bootstrap.properties
,內容如下:
定義了微服務的名稱和profile以及配置伺服器的位址。
說明,我們的config-client已經成功從server-config上獲取到配置的資料了。
統一配置中心
1.搭建統一配置專案 建立git倉庫配置檔案 檔案訪問路徑說明 2.spring cloud bus 配置檔案修改後自動重新整理 org.springframework.boot spring boot starter amqp 暴露全路徑介面 management endpoints web ex...
180425 統一配置中心
對於配置檔案,我們不陌生,它提供我們可以動態修改程式執行能力。引用別人的一句話就是 系統執行時 runtime 飛行姿態的動態調整 我可以把我們的工作稱之為在快速飛行的飛機上修理零件。我們人類總是無法掌控和預知一切。對於我們系統來說,我們總是需要預留一些控制線條,以便在我們需要的時候做出調整,控制系...
SpringCloud統一配置中心
服務端步驟 1 引用依賴 org.springframework.cloud spring cloud config server 2 啟動類新增註解 enableconfigserver3 修改配置檔案 server port 8091 spring name config server clou...