API 構成パターン - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

API 構成パターン

このパターンでは、API コンポーザー (アグリゲーター) を使用して、データを所有する個々のマイクロサービスを呼び出すことでクエリを実装します。次に、インメモリジョインを実行して結果を結合します。

以下の図は、このパターンの実装を示しています。

API 構成パターン図

この図表は、次のワークフローを示しています:

  1. API ゲートウェイは「/customer」API を処理します。この API には、Aurora データベース内のカスタマーの注文を追跡する「Orders」マイクロサービスがあります。

  2. 「Support」マイクロサービスは、カスタマーサポートの問題を追跡し、Amazon OpenSearch Service データベースに保存します。

  3. CustomerDetails「」マイクロサービスは、DynamoDB テーブル内の顧客属性 (住所、電話番号、支払いの詳細など) を維持します。

  4. GetCustomer「」Lambda 関数は、APIs を実行し、リクエスタに返す前にデータに対してインメモリ結合を実行します。これにより、ユーザー向け API の 1 回のネットワーク呼び出しでカスタマー情報を簡単に取得でき、インターフェイスも非常にシンプルに保たれます。

API コンポジションパターンは、複数のマイクロサービスからデータを収集する最も簡単な方法です。ただし、API 構成パターンを使用することには次のような欠点があります。

  • メモリ内結合を必要とする複雑なクエリや大規模なデータセットには適さない場合があります。

  • API コンポーザーに接続するマイクロサービスの数を増やすと、システム全体の可用性が低下します。

  • データベースリクエストが増えるとネットワークトラフィックが増え、運用コストが増加します。