本トピックでは、イベント駆動型アーキテクチャ (EDA) の概念、メリット、アーキテクチャ図、およびユースケースについて説明します。
イベント駆動型アーキテクチャの概要
イベント駆動型アーキテクチャ (EDA) は、アプリケーションからイベントを収集し、リアルタイムで処理し、応答を待たずにダウンストリームシステムにルーティングする、疎結合の分散アーキテクチャです。EventBridge を使用すると、CloudEvents 1.0 プロトコルを介してクラウドプロダクト、アプリケーション、サービスを接続し、単純または複雑なイベント駆動型アーキテクチャを構築できます。
EDA は、主に以下の 3 つの機能を提供します。
イベントの収集:新規注文の作成や、返品・交換を含む注文ステータスの変更など、アプリケーション全体で生成されるイベントをキャプチャします。
イベントの処理:イベントのサニタイズ、フィルタリング、および検証を行います。
イベントのルーティング:イベントの内容を分析し、ダウンストリームのプロダクトにイベントを配信します。
メリット
EDA には、以下のメリットがあります。
疎結合
イベントプロデューサーとサブスクライバー間の依存関係を低減します。プロデューサーはイベントの生成のみに集中し、イベントがどのように処理されるか、どのサブスクライバーがイベントを受信するかを意識する必要はありません。あるコンポーネントで障害が発生しても、他のサービスの運用に影響を与えません。
非同期実行
EDA は非同期シナリオをサポートします。ピーク時には、さまざまなソースからのイベントがイベントバスに収集・保存され、段階的に配信されます。これにより、システムの輻輳やリソースの過負荷を防ぎます。
スケーラビリティ
EDA のルーティングおよびフィルタリング機能はサービスのパーティショニングをサポートしており、ルートのスケーリングと分散を容易にします。
アジリティ
EDA は、複数の Alibaba Cloud プロダクトおよびアプリケーションと統合できます。イベントを任意のシステムサービスにルーティングでき、アジャイルで効率的なデプロイメントソリューションを提供します。
イベント駆動型アーキテクチャ図
次の図は、人事 (HR) サービスシステムにおける EDA の例です。EventBridge は、HR システムから新入社員のオンボーディングイベントを収集し、ルーティングおよび転送します。このアーキテクチャにより、サイトのスケーラビリティが向上し、エンタープライズアーキテクチャのアップグレードやシステムの拡張への対応が簡素化されます。

イベント駆動型アーキテクチャの拡張
次の図は、注文サービスシステムにおける EDA の例です。このアーキテクチャでは、EventBridge がさまざまな注文ステータスのイベントを収集し、ターゲットサービスに配信します。
