Spring Cloud Config Server
Spring Cloud Config Server 為外部配置(名稱-值對或等效 YAML 內容)提供基於 HTTP 資源的 API。伺服器可以透過使用 @EnableConfigServer
註解嵌入到 Spring Boot 應用中。因此,以下應用就是一個 Config Server
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 和 properties 檔案的 git 倉庫。
在 Windows 上,如果檔案 URL 是帶有驅動器字首的絕對路徑(例如,/${user.home}/config-repo ),則需要在檔案 URL 中多加一個 "/"。 |
以下列表展示了建立上例中 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 倉庫僅用於測試目的。在生產環境中,你應該使用伺服器來託管配置倉庫。 |
如果只在配置倉庫中保留文字檔案,則首次克隆會非常快速高效。如果你儲存了二進位制檔案,特別是大型檔案,則首次請求配置時可能會遇到延遲,或者在伺服器中遇到記憶體不足錯誤。 |