簡介
Spring Cloud Config爲分佈式系統的外部配置提供服務端(server)和客戶端(client)的支持。Config服務端提供了一個集中的地方來管理所有環境下各個應用的配置,Config客戶端即普通的Spring應用,但不侷限於Spring應用,理論上任意應用都可以作爲Config的客戶端。Config服務端和客戶端的概念都源自於Spring的Environment和PropertySource抽象,所以它們可以很好地和Spring應用適配,但也能被用於其它任意語言的應用。當一個應用從開發階段到測試階段再到生產上線,使用Config可以管理這些環境中的配置,並且當應用遷移時,應用可以找到需要的所有配置信息。服務端的存儲默認使用git實現,所以它可以很容易地支持版本化的配置環境,同時有很多工具(如git bash等)可以用於管理這些內容。
特性
服務端特性:
- 爲外部配置(鍵值對或YAML)提供基於http的API
- 加密和解密屬性的值(對稱或非對稱加密)
- 可以使用@EnableConfigServer很容易地嵌入到SpringBoot應用
客戶端特性(Spring應用):
- 綁定到配置服務器並且使用遠程的屬性源初始化Spring Environment
- 加密和解密屬性的值(對稱或非對稱)
只要Spring Boot Actuator和Spring Config Client在classpath下,任何Spring Boot應用啓動以後都會嘗試去連接一個配置服務器,配置服務器的地址由spring.cloud.config.uri
指定,默認的值是http://localhost:8888/
, 如果要改變這個默認值,可以在bootstrap.[yml | properties]或者系統屬性或環境變量中指定。