イベント駆動型ソフトウェアアーキテクチャ
イベント駆動型 (またはメッセージ駆動型) のソフトウェアアーキテクチャは、イベントプロデューサ、イベントコンシューマ、およびチャネルで構成されます。このアーキテクチャは、イベントプロデューサをイベントコンシューマから分離し、接続されたシステムの通信モデルを簡素化するため、大規模分散システムに適しています。
- イベント
- ビジネスプロセスで意味のある状態の変化。たとえば、注文の実行は意味のあるイベントです。注文履行センターで、注文を処理するための通知が必要とされるためです。また、冷蔵庫の温度の変化は、修理が必要なことを示している可能性があります。
- イベントメッセージ
- イベントに関するデータが含まれるメッセージ。イベント通知とも呼ばれます。
- イベントプロデューサ
- チャネル全体へのイベントメッセージの公開者。
- チャネル
- イベントプロデューサのメッセージを転送する導管。イベントコンシューマはチャネルを登録して、メッセージを受信します。Salesforce では、イベントバスとも呼ばれます。
- イベントコンシューマ
- チャネルからのメッセージを受信するチャネルの登録者。
要求-応答通信モデルでは、システムは Web サービスまたはデータベースに対して要求を実行し、特定の状態に関する情報を取得します。要求の送信者はサービスへの接続を確立し、サービスの可用性に依存しますん。
これと比較して、イベントベースモデルでは、システムはイベントの発生時に情報を取得し、その情報にほぼリアルタイムで対応できます。イベントプロデューサは、イベントを受信するコンシューマを認識しません。任意の数のコンシューマが同じイベントを受信してそのイベントに対応できます。プロデューサとコンシューマ間の唯一の連動関係は、メッセージコンテンツのセマンティックです。
次の図は、イベントベースのソフトウェアアーキテクチャシステムを示しています。
