構成
Spring Cloud Gateway の構成は、RouteDefinitionLocator
インスタンスのコレクションによって駆動されます。次のリストは、RouteDefinitionLocator
インターフェースの定義を示しています。
public interface RouteDefinitionLocator {
Flux<RouteDefinition> getRouteDefinitions();
}
デフォルトでは、PropertiesRouteDefinitionLocator
は Spring Boot の @ConfigurationProperties
メカニズムを使用してプロパティをロードします。
以前の構成例はすべて、名前付き引数ではなく位置引数を使用するショートカット表記を使用しています。次の 2 つの例は同等です。
spring:
cloud:
gateway:
routes:
- id: setstatus_route
uri: https://example.org
filters:
- name: SetStatus
args:
status: 401
- id: setstatusshortcut_route
uri: https://example.org
filters:
- SetStatus=401
ゲートウェイの一部の使用箇所では、プロパティは適切ですが、一部の本番ユースケースでは、データベースなどの外部ソースから構成をロードすることでメリットが得られます。将来のマイルストーンバージョンには、Redis、MongoDB、Cassandra などの Spring Data リポジトリに基づく RouteDefinitionLocator
実装が含まれる予定です。
RouteDefinition メトリクス
RouteDefinition
メトリクスを有効にするには、プロジェクトの依存関係として spring-boot-starter-actuator を追加します。次に、デフォルトでは、プロパティ spring.cloud.gateway.metrics.enabled
が true
に設定されている限り、メトリクスが使用可能になります。spring.cloud.gateway.routes.count
という名前のゲージメトリクスが追加されます。その値は RouteDefinitions
の数です。このメトリクスは、/actuator/metrics/spring.cloud.gateway.routes.count
から入手できます。