Spring Cloud ConfigSpring Cloud Config4.2.2

Spring Cloud Config 為分散式系統中的外部化配置提供了服務端和客戶端支援。藉助 Config Server,您可以集中管理跨所有環境的應用程式的外部屬性。客戶端和服務端的概念與 Spring 的 EnvironmentPropertySource 抽象完全對應,因此它們與 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)。

Spring Initializr

快速啟動您的專案

搶先一步

VMware 提供培訓和認證,助您快速發展。

瞭解更多

獲取支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群即將舉行的所有活動。

檢視全部