Spring Cloud Config サーバー

Spring Cloud Config サーバーは、外部構成(名前と値のペアまたは同等の 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 で起動することです(構成サーバー jar には configserver.yml があります)。もう 1 つは、次の例に示すように、独自の 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 では、ドライブプレフィックス(/${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 リポジトリにローカルファイルシステムを使用することは、テストのみを目的としています。サーバーを使用して、本番環境で構成リポジトリをホストする必要があります。
構成リポジトリの初期クローンは、テキストファイルのみを保持する場合、迅速かつ効率的になります。バイナリファイル、特に大きなファイルを保存する場合、最初の構成リクエストで遅延が発生したり、サーバーでメモリ不足エラーが発生したりする可能性があります。