Spring Cloud 配置伺服器
Spring Cloud Config Server 提供一個基於 HTTP 資源的 API,用於外部配置(名稱-值對或等效的 YAML 內容)。透過使用 @EnableConfigServer 註解,伺服器可以嵌入到 Spring Boot 應用程式中。因此,以下應用程式是一個配置伺服器
ConfigServer.java
@SpringBootApplication
@EnableConfigServer
public class ConfigServer {
public static void main(String[] args) {
SpringApplication.run(ConfigServer.class, args);
}
}
與所有 Spring Boot 應用程式一樣,它預設執行在 8080 埠,但您可以透過多種方式將其切換到更常用的 8888 埠。最簡單的方式是使用 spring.config.name=configserver 啟動它(Config Server jar 中有一個 configserver.yml),這也會設定一個預設的配置倉庫。另一種方式是使用您自己的 application.properties,如下例所示
application.properties
server.port: 8888
spring.cloud.config.server.git.uri: file://${user.home}/config-repo
其中 ${user.home}/config-repo 是一個包含 YAML 和屬性檔案的 git 倉庫。
在 Windows 上,如果檔案 URL 是帶驅動器字首的絕對路徑(例如,/${user.home}/config-repo),則需要額外的“/”。 |
|
以下列表顯示了建立前面示例中 git 倉庫的方法 $ cd $HOME $ mkdir config-repo $ cd config-repo $ git init . $ echo info.foo: bar > application.properties $ git add -A . $ git commit -m "Add application.properties" |
| 將本地檔案系統用於 git 倉庫僅用於測試。在生產環境中,您應該使用伺服器來託管您的配置倉庫。 |
| 如果您的配置倉庫只包含文字檔案,則其初始克隆可以快速高效。如果您儲存二進位制檔案,特別是大型檔案,則在首次請求配置時可能會遇到延遲,或者在伺服器中遇到記憶體不足錯誤。 |