View a markdown version of this page

AWS での並列 API コンポジション - AWS での並列 API コンポジション

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

AWS での並列 API コンポジション

公開日: 2022 年 5 月 17 日 (図の履歴)

このアーキテクチャは、複数のダウンストリーム API エンドポイントを並列または順番に呼び出して、単一の集約レスポンスを作成する方法を示しています。AWS Step Functions Express Workflows を使用してパラメータ化された汎用サーキットブレーカーワークフローを構築し、コマンドクエリ責任分離 (CQRS) を使用して永続的な結果整合性キャッシュを維持します。

AWS での並列 API コンポジション

Amazon API Gateway、 AWS Step Functions Express Workflows AWS Lambda、Amazon EventBridge を使用した並列 API 構成を示すアーキテクチャ図。

次の手順では、アーキテクチャについて説明します。

  1. Amazon API Gateway を使用して API ゲートウェイを作成し、クライアントが同期ウェブリクエストをマイクロサービスに送信できるようにします。

  2. Step Functions Express ワークフローを使用して、複数のマイクロサービスを同時に呼び出す並列ステップを持つワークフローを作成します。

  3. AWS Lambda 関数を使用して、ダウンストリームマイクロサービスからの複数のレスポンスをクライアントの単一の集約レスポンスに構成します。

  4. パラメータ化されたネストされた Step Functions Express ワークフローで構築されたサーキットブレーカーを使用して並列リクエストを処理し、耐障害性を向上させます。

  5. API Gateway を使用して、オンプレミスのマイクロサービスを呼び出すときに HTTP リクエストをプロキシします。

  6. Amazon MemoryDB for Redis データベースを作成して、書き込みスルーキャッシュパターンを使用してマイクロサービスレスポンスをキャッシュします。ダウンストリームマイクロサービスが使用できなくなったり、レイテンシーがしきい値に達すると、回路は閉じてすべてのレスポンスをキャッシュから直接読み取ります。

  7. CQRS パターンを使用して、キャッシュされたデータをダウンストリームマイクロサービスからのドメインイベントで補完します。Amazon EventBridge でイベントバスを作成し、Lambda 関数でイベントを処理して、ドメイン集計を MemoryDB に保持します。

  8. API Gateway レスポンスキャッシュを有効にし、各リクエストタイプに従ってtime-to-live (TTL) 値とフィルターを調整してパフォーマンスを向上させます。

詳細情報

詳細については、次のリソースを参照してください。

図の履歴

このリファレンスアーキテクチャ図の更新について通知を受け取るには、RSS フィードにサブスクライブします。

変更説明日付

初版発行

リファレンスアーキテクチャ図が最初に公開されました。

2022 年 5 月 17 日

注記

RSS 更新をサブスクライブするには、使用しているブラウザで RSS プラグインが有効になっている必要があります。