搶先一步
VMware 提供培訓和認證,助您快速發展。
瞭解更多Spring Cloud Config 為分散式系統中的外部化配置提供了服務端和客戶端支援。藉助 Config Server,您可以集中管理跨所有環境的應用程式的外部屬性。客戶端和服務端的概念與 Spring 的 Environment
和 PropertySource
抽象完全對應,因此它們與 Spring 應用程式非常契合,但也可用於執行在任何語言環境中的任何應用程式。當應用程式從開發環境遷移到測試環境再到生產環境時,您可以管理這些環境之間的配置,並確保應用程式在遷移時具備執行所需的一切。服務儲存後端的預設實現使用 Git,因此它輕鬆支援配置環境的帶標籤版本,並且可以透過各種工具訪問內容管理。新增替代實現並透過 Spring 配置輕鬆接入是很容易的。
Spring Cloud Config Server 功能特性
基於 HTTP 的資源 API,用於外部化配置(鍵值對或等效的 YAML 內容)
加密和解密屬性值(對稱或非對稱)
使用 @EnableConfigServer
可輕鬆嵌入 Spring Boot 應用程式
Config Client 功能特性(適用於 Spring 應用程式)
繫結到 Config Server 並使用遠端屬性源初始化 Spring Environment
加密和解密屬性值(對稱或非對稱)
只要 classpath 中包含 Spring Boot Actuator 和 Spring Config Client,任何 Spring Boot 應用程式都會嘗試連線預設 URI [https://:8888](https://:8888)
上的 config server,這是 spring.cloud.config.uri
的預設值。如果您想修改此預設值,可以在 bootstrap.[yml | properties]
檔案中或透過系統屬性或環境變數設定 spring.cloud.config.uri
。
@Configuration
@EnableAutoConfiguration
@RestController
public class Application {
@Value("${config.name}")
String name = "World";
@RequestMapping("/")
public String home() {
return "Hello " + name;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
示例中的 config.name
(或您以常規 Spring Boot 方式繫結的任何其他值)可以來自本地配置或遠端 Config Server。預設情況下,Config Server 將優先。要檢視此效果,請檢視應用程式中的 /env
端點,並檢視 configServer
屬性源。
要執行您自己的 server,請使用 spring-cloud-config-server
依賴和 @EnableConfigServer
。如果您設定 spring.config.name=configserver
,應用程式將在埠 8888 上執行,並從示例倉庫提供資料。您需要一個 spring.cloud.config.server.git.uri
來定位您自己的配置資料(預設情況下,它是 Git 倉庫的位置,也可以是本地 file:..
URL)。