閉じる

Spring Cloud Gateway

3.0.1

このプロジェクトは、Spring WebFlux 上に API ゲートウェイを構築するためのライブラリを提供します。Spring Cloud Gateway は、API にルーティングするためのシンプルで効果的な方法を提供し、セキュリティ、監視 / メトリクス、復元力などの横断的関心事を提供することを目的としています。

機能

Spring Cloud Gateway の機能:

  • Spring Framework 5、Project Reactor、Spring Boot 2.0 に基づいて構築

  • リクエスト属性のルートを一致させることができます。

  • 述語とフィルターはルートに固有です。

  • サーキットブレーカーの統合。

  • Spring Cloud DiscoveryClient 統合

  • 簡単に記述できる述語とフィルター

  • リクエストレート制限

  • パスの書き換え

入門

@SpringBootApplication
public class DemogatewayApplication {
	@Bean
	public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
		return builder.routes()
			.route("path_route", r -> r.path("/get")
				.uri("http://httpbin.org"))
			.route("host_route", r -> r.host("*.myhost.org")
				.uri("http://httpbin.org"))
			.route("rewrite_route", r -> r.host("*.rewrite.org")
				.filters(f -> f.rewritePath("/foo/(?<segment>.*)", "/${segment}"))
				.uri("http://httpbin.org"))
			.route("hystrix_route", r -> r.host("*.hystrix.org")
				.filters(f -> f.hystrix(c -> c.setName("slowcmd")))
				.uri("http://httpbin.org"))
			.route("hystrix_fallback_route", r -> r.host("*.hystrixfallback.org")
				.filters(f -> f.hystrix(c -> c.setName("slowcmd").setFallbackUri("forward:/hystrixfallback")))
				.uri("http://httpbin.org"))
			.route("limit_route", r -> r
				.host("*.limited.org").and().path("/anything/**")
				.filters(f -> f.requestRateLimiter(c -> c.setRateLimiter(redisRateLimiter())))
				.uri("http://httpbin.org"))
			.build();
	}
}

独自のゲートウェイを実行するには、spring-cloud-starter-gateway 依存関係を使用します。

Spring Initializr

プロジェクトのクイックスタート

Spring Initializr (英語) を使用してアプリケーションをブートストラップします。

ドキュメント

Spring プロジェクト別に用意されています。プロジェクトの機能を使用する方法と、それを使用して達成できることを詳細に説明しています。
3.0.1 CURRENT GA リファレンスドキュメント
3.0.2-SNAPSHOT SNAPSHOT リファレンスドキュメント (英語)
2.2.8.BUILD-SNAPSHOT SNAPSHOT リファレンスドキュメント (英語)
2.2.7.RELEASE GA リファレンスドキュメント (英語)

ガイド

15-30 分で完成するように設計されたガイドは、Spring を使用した開発タスク用のスターターアプリ構築するための、迅速で実践的な手順を提供します。