このトピックでは、イベント駆動型アーキテクチャ(EDA)の概念と利点について説明します。また、EDA のサンプルも紹介します。
EDA とは
EDA は疎結合で分散型のアーキテクチャです。アプリケーションによって生成されたイベントは収集された後、リアルタイムで処理され、システムの応答を待たずにダウンストリームシステムにルーティングされます。 [EventBridge] を使用すると、CloudEvents 1.0 仕様に基づいて、クラウドサービスとアプリケーション間、またはアプリケーション間を接続する、シンプルまたは複雑なさまざまな EDA を構築できます。
EDA には次の 3 つの機能があります。
イベント収集: 新規注文や返品注文などのステータス変更など、さまざまなアプリケーションによって生成されたイベントを収集します。
イベント処理: 収集されたイベントの匿名化とフィルタリングを行います。
イベントルーティング: イベントの内容を分析し、イベントをダウンストリームサービスにルーティングします。
利点
EDA には次の利点があります。
結合の削減
イベントプロデューサーとサブスクライバー間の結合を減らします。イベントプロデューサーは、イベントの発生にのみ焦点を当てる必要があり、イベントの処理方法やイベントの配信先のサブスクライバーについては考慮する必要がありません。1 つのフェーズで障害が発生しても、他のフェーズの通常の動作には影響しません。
非同期実行
EDA は非同期シナリオに適しています。ピーク時でも、さまざまなソースからのイベントが収集され、イベントバスに保持されます。その後、イベントは徐々に配信されるため、システムの輻輳やリソースの過剰使用は発生しません。
スケーラビリティ
EDA のルーティングおよびフィルタリング機能は、サービス分割をサポートします。これにより、スケーリングとルーティングが容易になります。
アジリティ
EDA はさまざまな Alibaba Cloud サービスおよびアプリケーションと統合でき、すべてのシステムサービスにイベントをルーティングすることができ、さまざまなアジャイルで効率的なデプロイソリューションを提供します。
人事サービスシステムの EDA のサンプル
次の図は、人事サービスシステムの EDA のサンプルを示しています。 [EventBridge] は、人事サービスシステムによって生成された従業員のオンボーディングイベントを収集し、イベントをルーティングおよび転送します。このアーキテクチャは、サイトのスケーラビリティを向上させ、エンタープライズアーキテクチャのアップグレードとシステム拡張に容易に対応できます。
注文サービスシステムの EDA のサンプル
次の図は、注文サービスシステムの EDA のサンプルを示しています。このアーキテクチャでは、[EventBridge] はさまざまな注文状態のイベントを収集し、イベントターゲットに配信します。