2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-08-01

はじめに

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

連載目次

Azureアーキテクチャガイドまとめ 1 【はじめに】
Azureアーキテクチャガイドまとめ 2【N層】
Azureアーキテクチャガイドまとめ 3 【Webキューワーカー】
Azureアーキテクチャガイドまとめ 4 【マイクロサービス】
Azureアーキテクチャガイドまとめ 5 【CQRS】
Azureアーキテクチャガイドまとめ 6 【イベントドリブンアーキテクチャ】 → 本記事
Azureアーキテクチャガイドまとめ 7 【ビッグデータアーキテクチャ】
Azureアーキテクチャガイドまとめ 8 【ビッグコンピューティングアーキテクチャ】

概要

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

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

    • 処理したい命令を流しつつ保持しておける
    • パイプの形状変更は一苦労
      • 配信者や受信者を変更/追加する場合には、配信側のコードをいじる必要あり
  • イベントの格納先 = 箱

    • 処理のためのトリガーを放り込める
    • 複雑なものが入ってても大丈夫そう (パイプだと詰まりそう)
    • 受信者は能動的に箱の中身を取りに行く必要あり
    • 何人で箱を共有してもOKで、拡張性が高い

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

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

01.jpg

02.jpg

適するアプリケーション

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

  • 複数のサブシステムが同じイベントを処理
  • 最小のタイムラグのリアルタイム処理
  • パターンマッチングや特定の時間範囲内の集計など、複雑なイベント処理
  • IoTなど、大量の高速データを処理

利点

  • 送り手と受け手を分離できる
  • Point to Pointがないので、新しい受け手を容易にシステムへ追加できる
  • 受け手はイベントが到着すると即座に応答できる
  • 高い拡張性分散性

課題

  • 配信の保証
  • イベントを正しい順序で処理する必要がある場合

対応するAzureサービス

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

- トリガー例 組み合わせるサービス例
単純なイベント処理 ストレージに画像ファイルがアップロード Azure Functions
Service Bus
複雑なイベント処理 特定のデータをある時間範囲で集計、移動平均値が特定のしきい値を超える Azure Storm Analytics
Apache Storm
イベントストリーム処理 IoTデータ
(大量のイベントが発生)
Azure IoT Hub
Apache Kafka

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

03.jpg

まとめ

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

参考リンク

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

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?