Azureアーキテクチャガイドまとめ 6 【イベントドリブンアーキテクチャ】

はじめに

Azureクラウドアプリケーションアーキテクチャガイド より、7つあるアーキテクチャスタイルの一つ、イベントドリブンアーキテクチャに関してまとめます。

概要

情報の送り手が「イベント」を発行し、それを保持する箇所を設け、情報の受け手はそこにイベントを取りに行く、というアーキテクチャスタイルです。Webキューワーカーアーキテクチャと似ていますが、以下のようなイメージで違いを理解しています。

・キューの格納先 = パイプ

・処理したい命令を流しつつ保持しておける

・パイプの形状変更は一苦労

・配信者や受信者を変更/追加する場合には、配信側のコードをいじる必要あり

・イベントの格納先 = 箱

・処理のためのトリガーを放り込める

・複雑なものが入ってても大丈夫そう (パイプだと詰まりそう)

・受信者は能動的に箱の中身を取りに行く必要あり

・何人で箱を共有してもOKで、拡張性が高い

要件に応じて、パブリッシュサブスクライブモデルとイベントストリームモデル、2種類のモデルが使用可能です。

それぞれ、ざっくりとした構成を図示します。

適するアプリケーション

このアーキテクチャスタイルには以下のようなアプリケーションに適しています。

・複数のサブシステムが同じイベントを処理

・最小のタイムラグのリアルタイム処理

・パターンマッチングや特定の時間範囲内の集計など、複雑なイベント処理

・IoTなど、大量の高速データを処理

利点

・送り手と受け手を分離できる

・Point to Pointがないので、新しい受け手を容易にシステムへ追加できる

・受け手はイベントが到着すると即座に応答できる

・高い拡張性と分散性

課題

・配信の保証

・イベントを正しい順序で処理する必要がある場合

対応するAzureサービス

コンシューマー側の処理方式は、以下3種に大別されます。要件に応じて使い分けます。

組み合わせる各サービスの概要とアイコンは以下の通り。

組み合わせる各サービスの概要とアイコンは以下の通り。

まとめ

イベントドリブンアーキテクチャの特徴と使用されるサービスについて見ていきました。次回はビッグデータアーキテクチャスタイルについてまとめます。お楽しみに!

参考リンク

Azureアーキテクチャセンター イベントドリブンアーキテクチャ

Azureクラウドアプリケーションアーキテクチャガイド ダウンロードページ

この記事を書いた人

azure-recipe-user