View a markdown version of this page

専用データベースを使用したページ分割検索 - 専用データベースを使用したページ分割検索

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

専用データベースを使用したページ分割検索

公開日: 2022 年 8 月 25 日 (図の履歴)

このアーキテクチャは、ステップ変換と SQL クエリを使用して、専用データベースからドメイン集計で検索可能なページ分割リストを作成する方法を示しています。コマンドクエリ責任分離 (CQRS) パターンをイベント駆動型マイクロサービスアーキテクチャに適用できます。これにより、Amazon Aurora で結果整合性のあるデータ射影をクエリすることで、検索、ページ分割、ソートが可能になります。

専用データベースを使用したページ分割検索

EventBridge、Step Functions、Lambda、Amazon Aurora を使用した専用データベースによるページ分割検索を示すアーキテクチャ図。

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

  1. Amazon Aurora を使用してリレーショナルデータベースを作成し、検索、ページ分割、ソートに必要なドメイン集計の射影を保持します。ユーザーインターフェイスから逆算して、テーブルと列を設計します。

  2. リレーショナルデータベースに対して SQL クエリを呼び出す AWS Lambda関数を作成し、ページ分割 API エンドポイントに接続して検索リクエストを処理します。関数は、検索、ソート、OffsetCountおよびページ分割OrderByに LimitWhere句を使用します。

  3. 分離されたマイクロサービスは、所有するドメインアグリゲートの変更に関するイベントを発生させます。各マイクロサービスは、ユースケースに適した専用データベースを選択し、最終的には射影データベースを一貫して最新の状態に保ちます。

  4. Amazon EventBridge を使用してイベントバスを作成し、マイクロサービスからドメインイベントを収集します。

  5. データベース固有の正規化子を使用してドメイン集計を正規化し、データベース内の射影テーブルと一致させ、追加の分析を計算します。ワークフローを管理し、ドメイン集約を適切なノーマライザーに誘導するには、 内で選択ステップを作成しますAWS Step Functions。複雑な正規化の場合、ステートマシンは Amazon Elastic Container Service で長時間実行されるコンテナを統合して待機できます。

  6. クライアントは、一意のキーで参照して、返された集計の詳細をリクエストできます。関連するマイクロサービスは、API エンドポイントを介してこれを管理します。

詳細情報

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

図の履歴

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

変更説明日付

初版発行

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

2022 年 8 月 25 日

注記

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