Spring Cloud ConfigSpring Cloud Config5.0.0

Spring Cloud Config 為分散式系統中的外部化配置提供伺服器端和客戶端支援。透過配置伺服器,您可以集中管理所有環境中應用程式的外部屬性。客戶端和伺服器端的概念與 Spring 的 EnvironmentPropertySource 抽象完全相同,因此它們非常適合 Spring 應用程式,但也可以與任何語言執行的任何應用程式一起使用。當應用程式從開發環境透過測試環境進入生產環境的部署流水線時,您可以管理這些環境之間的配置,並確保應用程式在遷移時擁有執行所需的一切。伺服器儲存後端的預設實現使用 Git,因此它能夠輕鬆支援配置環境的標記版本,並且可以透過各種工具來管理內容。新增替代實現並將其與 Spring 配置進行外掛化非常容易。

特性

Spring Cloud Config Server 特性

  • 基於 HTTP、資源化的外部配置 API(名稱-值對,或等效的 YAML 內容)
  • 加密和解密屬性值(對稱或非對稱)
  • 使用 @EnableConfigServer 輕鬆嵌入到 Spring Boot 應用程式中

Config Client 特性(針對 Spring 應用程式)

  • 繫結到配置伺服器並使用遠端屬性源初始化 Spring Environment
  • 加密和解密屬性值(對稱或非對稱)

入門

只要 Spring Boot Actuator 和 Spring Config Client 在類路徑中,任何 Spring Boot 應用程式都將嘗試聯絡 https://:8888 上的配置伺服器,這是 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 方式繫結的任何其他值)可以來自本地配置或來自遠端配置伺服器。預設情況下,配置伺服器將具有優先權。要檢視此情況,請檢視應用程式中的 /env 端點,並檢視 configServer 屬性源。

要執行您自己的伺服器,請使用 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 社群所有即將舉行的活動。

檢視所有