檔案系統後端
Config Server 中還有一個“原生”配置檔案,它不使用 Git,而是從本地 classpath 或檔案系統載入配置檔案(你可以使用 spring.cloud.config.server.native.searchLocations 指向任何靜態 URL)。要使用原生配置檔案,請使用 spring.profiles.active=native 啟動 Config Server。
請記住對檔案資源使用 file: 字首(沒有字首的預設值通常是 classpath)。與任何 Spring Boot 配置一樣,你可以嵌入 ${} 風格的環境佔位符,但請記住 Windows 中的絕對路徑需要額外的 /(例如,/${user.home}/config-repo)。 |
searchLocations 的預設值與本地 Spring Boot 應用程式相同(即 [classpath:/, classpath:/config, file:./, file:./config])。這不會將伺服器的 application.properties 暴露給所有客戶端,因為在傳送給客戶端之前,伺服器中存在的任何屬性源都將被移除。 |
| 檔案系統後端非常適合快速入門和測試。要在生產環境中使用它,你需要確保檔案系統可靠並能被 Config Server 的所有例項共享。 |
搜尋位置可以包含 {application}、{profile} 和 {label} 的佔位符。透過這種方式,你可以在路徑中分隔目錄,並選擇適合你的策略(例如,每個應用程式一個子目錄或每個配置檔案一個子目錄)。
如果你在搜尋位置中不使用佔位符,此倉庫還會將 HTTP 資源的 {label} 引數新增到搜尋路徑的字尾中,因此屬性檔案將從每個搜尋位置以及一個與標籤同名的子目錄中載入(帶標籤的屬性在 Spring Environment 中具有優先權)。因此,沒有佔位符的預設行為與新增以 /{label}/ 結尾的搜尋位置相同。例如,file:/tmp/config 與 file:/tmp/config,file:/tmp/config/{label} 相同。此行為可以透過設定 spring.cloud.config.server.native.addLabelLocations=false 來停用。