嵌入 Config 伺服器

Config 伺服器最好以獨立應用程式的方式執行。但是,如有需要,您可以將其嵌入到另一個應用程式中。若要這樣做,請使用 @EnableConfigServer 註解。在這種情況下,名為 spring.cloud.config.server.bootstrap 的可選屬性可能會很有用。它是一個標誌,用於指示伺服器是否應從其自己的遠端儲存庫設定自身。預設情況下,此標誌是關閉的,因為它可能會延遲啟動。但是,當嵌入到另一個應用程式中時,以與任何其他應用程式相同的方式初始化是有意義的。當將 spring.cloud.config.server.bootstrap 設定為 true 時,您也必須使用複合環境儲存庫組態。例如

spring:
  application:
    name: configserver
  profiles:
    active: composite
  cloud:
    config:
      server:
        composite:
          - type: native
            search-locations: ${HOME}/Desktop/config
        bootstrap: true
如果您使用 bootstrap 標誌,則 config 伺服器需要在 bootstrap.yml 中設定其名稱和儲存庫 URI。

若要變更伺服器端點的位置,您可以(選擇性地)設定 spring.cloud.config.server.prefix (例如,/config),以在字首下提供資源。字首應以 / 開頭,但不以 / 結尾。它適用於 Config 伺服器中的 @RequestMappings (也就是說,在 Spring Boot server.servletPathserver.contextPath 字首之下)。

如果您想要直接從後端儲存庫 (而不是從 config 伺服器) 讀取應用程式的組態,您基本上需要一個沒有端點的嵌入式 config 伺服器。您可以完全關閉端點,方法是不使用 @EnableConfigServer 註解 (設定 spring.cloud.config.server.bootstrap=true)。