先にジャンプ
VMware は、あなたの進歩を加速させるトレーニングと認定を提供します。
さらに学習したい方に (英語)Spring Cloud Config は、分散システムでの外部化された設定のサーバーおよびクライアント側のサポートを提供します。設定サーバーを使用すると、すべての環境にわたってアプリケーションの外部プロパティを管理する中心的な場所が得られます。クライアントとサーバーの両方の概念は、Spring Environment
および PropertySource
の抽象化と同じようにマップされるため、Spring アプリケーションに非常によく適合しますが、任意の言語で実行される任意のアプリケーションで使用できます。アプリケーションがデプロイパイプラインを介して開発環境からテスト環境および本番環境に移動するときに、これらの環境間の設定を管理し、アプリケーションが移行時に実行する必要があるすべてのものを確実に持つことができます。サーバーストレージバックエンドのデフォルトの実装は git を使用するため、設定環境のラベル付きバージョンを簡単にサポートできるだけでなく、コンテンツを管理するための幅広いツールにアクセスできます。代替の実装を追加し、Spring 設定でプラグインするのは簡単です。
Spring Cloud Config サーバーの機能:
HTTP、外部構成用のリソースベースの API (名前と値のペア、または同等の YAML コンテンツ)
プロパティ値の暗号化と復号化 (対称または非対称)
@EnableConfigServer
を使用して Spring Boot アプリケーションに簡単に埋め込み可能
構成クライアント機能(Spring アプリケーションの場合):
構成サーバーにバインドし、リモートプロパティソースを使用して Spring Environment
を初期化します
プロパティ値の暗号化と復号化 (対称または非対称)
Spring Boot Actuator および Spring Config Client がクラスパス上にある限り、Spring Boot アプリケーションは、spring.cloud.config.uri
のデフォルト値である [http://localhost:8888](http://localhost:8888)
の構成サーバーに接続しようとします。このデフォルトを変更する場合は、bootstrap.[yml | properties]
で、またはシステムプロパティまたは環境変数を介して spring.cloud.config.uri
を設定できます。
@Configuration
@EnableAutoConfiguration
@RestController
public class Application {
@Value("${config.name}")
String name = "World";
@RequestMapping("/")
public String home() {
return "Hello " + name;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
サンプルの config.name
の値(または通常の Spring Boot の方法でバインドする他の値)は、ローカル構成またはリモート構成サーバーから取得できます。デフォルトでは、構成サーバーが優先されます。これを見るには、アプリケーションの /env
エンドポイントを見て、configServer
プロパティソースを参照してください。
独自のサーバーを実行するには、spring-cloud-config-server
依存関係と @EnableConfigServer
を使用します。spring.config.name=configserver
を設定すると、アプリはポート 8888 で実行され、サンプルリポジトリからデータを提供します。独自のニーズに合わせて構成データを見つけるには spring.cloud.config.server.git.uri
が必要です(デフォルトでは git リポジトリの場所であり、ローカル file:..
URL でもかまいません)。