Spring Cloud Config4.1.3

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

  • 加密和解密屬性值(對稱或非對稱)

開始使用

只要 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)。

Spring Initializr

快速開始您的專案

更進一步

VMware 提供培訓和認證,以加速您的進展。

深入瞭解

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

深入瞭解

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部