View a markdown version of this page

API Gateway を使用したフロントエンドのバックエンド - API Gateway を使用したフロントエンドのバックエンド

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

API Gateway を使用したフロントエンドのバックエンド

公開日: 2022 年 4 月 27 日 (図の履歴)

このアーキテクチャは、フロントエンドクライアントアプリケーションがバックエンド for Frontend (BFF) パターンを適用して UI 対応データ射影をロードし、イベント駆動型通知で UI を更新する方法を示しています。Amazon API Gateway WebSockets を使用して、マイクロサービスがドメイン集計のミューテーションに関するイベントを発生させたときに、リアルタイムの更新をプッシュします。

API Gateway を使用したフロントエンドのバックエンド

リアルタイムの UI 更新に Amazon API Gateway、Amazon DynamoDB AWS Lambda、Amazon Cognito を使用したフロントエンドのバックエンドパターンを示すアーキテクチャ図。

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

  1. 専用 BFF イベントコンシューマーは、アプリケーションからイベントをキャッチし、Amazon DynamoDB の非正規化データ射影を更新してフロントエンドを消費します。

  2. UI ロードでは、フロントエンドクライアントは Amazon Cognito で認証し、API Gateway で構築された BFF API を呼び出してデータをクエリします。API は、DynamoDB から直接、または で構築された BFF クエリハンドラーを介してデータを取得しますAWS Lambda。

  3. フロントエンドクライアントは、API Gateway が提供する BFF WebSocket エンドポイントに接続して後続のデータ変更をサブスクライブします。これにより、接続されたクライアントテーブルの更新がトリガーされます。

  4. BFF イベントコンシューマーは、アプリケーションからのすべての関連イベントを引き続き処理し、非正規化されたフロントエンドデータビューをリアルタイムで更新します。

  5. Amazon DynamoDB Streams は、BFF データベースのデータ変更からすべてのイベントをキャプチャします。Lambda トリガーは、新しいストリームレコードを検出すると、BFF ストリームハンドラー関数を非同期的に呼び出します。

  6. BFF ストリームハンドラーは、API Gateway WebSockets に接続されたクライアントに通知をプッシュします。

  7. フロントエンドクライアントは API Gateway から変更通知を受け取り、UI コンテンツを更新します。

詳細情報

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

図の履歴

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

変更説明日付

初版発行

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

2022 年 4 月 27 日

注記

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