SpringCloud Gatewayの仕組みは何ですか?
Spring Cloud Gateway は、Spring 5.0、Spring Boot 2.0、Project Reactor を基にしたライブラリであり、API ゲートウェイを構築するためのツールです。動作原理は以下の通りです。
- お客様端からSpring Cloud Gatewayにリクエストが送信されます。
- Spring Cloud Gateway はリクエストを受け取り、RouterLocator を使用してマッチングされたルートルールを見つけます。
- Spring Cloud Gateway は、ルーティングルールに従い、リクエストをターゲットサービスに送信します。HTTP、WebSocket、または他のプロトコルを介して転送することができます。
- 目的のサービスはリクエストを処理し、Spring Cloud Gatewayにレスポンスを返します。
- Spring Cloud Gateway はクライアントにレスポンスを返します。
Spring Cloud Gatewayは、非同期および非ブロッキングモデルに基づいており、高性能なプロキシとルーティング機能を実現するために、プロジェクトReactorのReactor Nettyを使用しています。それは、リクエストとレスポンスを変更および処理するための一連のフィルタを提供し、例えばリクエストヘッダの追加、レート制御、認証などがあります。また、ランタイムの状況に応じて動的にルーティングルールを変更できる動的ルーティングもサポートしています。