15章イベント駆動アーキテクチャ
イベント駆動アーキテクチャ(Event Driven Architecture:EDA)は、高度にスケーラブルで高パフォーマンスなアプリケーションを作成するために使用される、人気の分散非同期型のアーキテクチャスタイルだ。小規模なアプリケーションから大規模で複雑なものまで、適応範囲が極めて広い。イベント駆動アーキテクチャは、非同期的にイベントを受信して処理する、疎結合なイベント処理コンポーネント群で構成される。このアーキテクチャスタイルは、単体のアーキテクチャスタイルとしても、他のアーキテクチャスタイル(イベント駆動型マイクロサービスアーキテクチャなど)に組み込む形としても使用できる。
多くの開発者はイベント駆動アーキテクチャをアーキテクチャパターンの一種と考えることが多い。しかし、筆者らはそう考えていない。過去にイベント駆動アーキテクチャのみで構成されるシステムを開発してきた経験もあるからだ。イベント駆動アーキテクチャは、マイクロサービスやスペースベースアーキテクチャといった他のアーキテクチャスタイルでハイブリッドアーキテクチャを形成するためにも使用できるが、その本質は複雑なシステムを設計する手法である。
ほとんどのアプリケーションは、図15-1に示すように、リクエストベースモデルと呼ばれるモデルを採用している。たとえば、顧客が過去6か月の注文履歴を要求した場合、このリクエストは最初にリクエストオーケストレーターへと送られる。リクエストオーケストレーターは通常、ユーザーインターフェイスを提供するアプリケーションとなるが、API層やオーケストレーションサービス、イベントハブ、イベントバス、統合ハブなどで実装することもできる。リクエストオーケストレーターの役割は、さまざまな ...
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