14章イベント駆動アーキテクチャ
イベント駆動アーキテクチャは、高度にスケーラブルで高パフォーマンスなアプリケーションを実現するために用いられる分散非同期型のアーキテクチャスタイルだ。このアーキテクチャスタイルは適応性に優れており、小規模なアプリケーションにも大規模で複雑なアプリケーションにも用いることが可能だ。イベント駆動アーキテクチャは、非同期的にイベントを受信して処理する、分離されたイベント処理コンポーネントで構成される。このアーキテクチャスタイルは、単体のアーキテクチャスタイルとしても使用できるし、他のアーキテクチャスタイル(イベント駆動マイクロサービスアーキテクチャなど)に組み込む形でも使用できる。
ほとんどのアプリケーションは、イベントベースモデルではなく、リクエストベースモデル(図14-1参照)と呼ばれるモデルを採用している。このモデルでは、ある種のアクションを実行するためのシステムへのリクエストが、リクエストオーケストレーターへと送られる。リクエストオーケストレーターは一般的にはユーザーインターフェイスとなるが、API層やエンタープライズサービスバスとして実装することもできる。リクエストオーケストレーターの役割は、リクエストをさまざまなリクエストプロセッサーに一義的かつ同期的に導くことだ。リクエストプロセッサーは、データベースの情報を取得・更新して、リクエストを処理する。
図14-1 リクエストベースモデル
過去6か月間の注文履歴を取得したいという顧客からのリクエストは、リクエストベースモデルの良い例だ。注文履歴情報の取得は、特定のコンテキストにあるデータをシステムに要求する、データ駆動の一義的なリクエストだ。これはシステムが反応しなければならないイベントではない。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access