更進一步
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
加密和解密屬性值(對稱或非對稱)
只要 Spring Boot Actuator 和 Spring Config Client 在類別路徑中,任何 Spring Boot 應用程式都會嘗試聯絡 [https://127.0.0.1:8888](https://127.0.0.1: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
屬性來源。
若要執行您自己的伺服器,請使用 spring-cloud-config-server
依賴項和 @EnableConfigServer
。 如果您設定 spring.config.name=configserver
,則應用程式將在 8888 連接埠上運行,並從範例儲存庫提供資料。 您需要 spring.cloud.config.server.git.uri
來找到您自己需求的配置資料(預設情況下,它是 git 儲存庫的位置,可以是本機 file:..
URL)。