APIゲートウェイは、クライアントから受け取ったAPIリクエストを適切なサービスに中継し、その結果をまとめてユーザーに返します。
APIゲートウェイとは?
APIゲートウェイは、クライアントのすべてのAPIコールを受け取り、リクエストルーティング、組み立て、プロトコル変換を行って、適切なマイクロサービスにルーティングします。通常、複数のマイクロサービスを呼び出して結果を集約することで、リクエストを処理し、最適なパスを決定します。Webプロトコルと内部で使用されているWeb非対応プロトコルの間の変換が可能です。
eコマースサイトでAPIゲートウェイを使用することで、エンドポイントのモバイルクライアントが1度のリクエストですべての製品の詳細を取得できるようにすることも可能になります。製品の情報やレビューなどの複数のサービスを呼び出して、その結果を連結することができます。
APIゲートウェイに関する動画
APIゲートウェイを使用したマイクロサービスの構築
マイクロサービスベースの多くのアプリケーションでは、APIゲートウェイがシステムへの単一エントリポイントの役割を果たすことから、実装するメリットがあります。APIゲートウェイがリクエストのルーティング、組み立て、プロトコル変換などを実行するため、システムを効率化できます。APIゲートウェイが存在する場合、アプリケーションの各クライアントがカスタムAPIを取得します。APIゲートウェイは、一部のリクエストを適切なバックエンドサービスにそのままルーティングすることで処理し、それ以外のリクエストについては複数のバックエンドサービスを呼び出してその結果を集約して処理します。バックエンドサービスで障害が発生した場合、APIゲートウェイは、キャッシュしたデータやデフォルトのデータを返すことで障害の影響を受けないようにすることが可能です。
マイクロサービスアーキテクチャーにおけるAPIゲートウェイの役割
APIゲートウェイは、マイクロサービスアーキテクチャーが処理するリクエストをまとめて簡素化したユーザーエクスペリエンスを提供する、指揮者のような役割を果たします。クライアントの多数のリクエストを1つにまとめることで、クライアントとアプリケーションのやり取りの回数を少なくします。APIゲートウェイはマイクロサービスの前にセットアップされ、アプリケーションが実行するすべての新しいリクエストのエントリポイントになります。クライアントの実装とマイクロサービスアプリの両方を簡素化します。