spring-cloud-config-server

null^發表於2017-12-05

參考資料:

  https://cloud.spring.io/spring-cloud-static/spring-cloud-config/1.4.0.RELEASE/single/spring-cloud-config.html

  http://cloud.spring.io/spring-cloud-static/Camden.SR7/#_spring_cloud_config_server

伺服器為外部配置(name-value對或等效的YAML內容)提供了一個HTTP,基於資源的API。伺服器使用@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倉庫

NOTE:在windows中,如果URL是帶有驅動符字首的絕對路徑,你需要在URL中新增一個額外"/",例如:file:///${user.home}/config-repo

TIP:   以下是上面例子中建立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"

WARNING:  使用本地檔案系統進行git儲存庫僅用於測試。使用伺服器在生產環境中託管配置庫。

WARNING:  如果您只保留文字檔案,則配置庫的初始克隆將會快速有效。如果您開始儲存二進位制檔案,尤其是較大的檔案,則可能會遇到伺服器中第一個配置請求和/或記憶體不足錯誤的延遲.