マイクロサービスの API ゲートウェイ パターンを理解する: シンプルなガイド
単一のモノリシック アプリケーションからマイクロサービス アーキテクチャに移行すると、多くの問題が解決されます。これにより、チームが独立して作業し、サービスを個別に展開し、必要に応じてシステムの一部を拡張することができます。ただし、クライアントはこれらすべての独立したサービスとどのように対話するのかという新たな課題も生じます。
10、50、または数百の小さなマイクロサービスがある場合、モバイル アプリまたは Web ページはそれぞれのマイクロサービスに直接接続する必要があるでしょうか?
ここで、API ゲートウェイ パターン が登場します。このガイドでは、API ゲートウェイとは何なのか、なぜそれが必要なのか、そして API ゲートウェイがどのようにマイクロサービス システムを簡素化するのかについて、簡単な言葉と現実世界の例えを使用して詳しく説明します。
現実世界の例え: ホテルの受付係 あなたが大規模な高級リゾートホテルにチェックインしていると想像してください。リゾートにはさまざまな部門があります。
ハウスキーピング(クリーンシートの場合) ※ルームサービス(お食事) ※コンシェルジュ(ツアー予約担当) Billing (請求書を支払うため) 清潔なタオルが必要な場合は、リゾート内を歩いて清掃棟を探す必要はありません。夕食が食べたければ、キッチンのドアをノックする必要はありません。代わりに、フロントデスクの受付に電話してください。
受付担当者がお客様のご要望を伺い、どの部門が解決できるかを判断し、おつなぎするか、対応させていただきます。
このシナリオでは:
あなたはクライアント (モバイル アプリまたはブラウザ) です。 受付は API ゲートウェイです。 部門 (ハウスキーピング、ルームサービス、請求) は マイクロサービス です。 問題: クライアントからサービスへの直接通信 ゲートウェイがどのように機能するかを説明する前に、ゲートウェイを「使用しない」場合に何が起こるかを見てみましょう。
e コマース アプリケーションに 3 つの個別のマイクロサービスがあるとします。
ユーザー サービス (プロファイルを管理) 製品サービス (カタログの管理) 注文サービス (チェックアウトの管理) API ゲートウェイがない場合、クライアント アプリは個別のリクエストを各サービスの個別のアドレス (IP または URL) に直接送信する必要があります。
Microservices
API Gateway
Software Architecture
System Design
Routing
Security