Azure Blob Storageを活用した非同期処理

 

Azure Blob Storageとは

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

 Microsoftの公式ドキュメントの説明によると、Azure Blob Storageとはクラウド用の大量のデータを格納するためのストレージとある。例えば画像データやテキストデータをWebアプリなどで使用する場合などにこのストレージを活用することでよりスマートな構成とすることが可能となっている。

 また、例えば一度に大量のリクエストが何かしらのファイル形式で投げ込まれ、それを読み込む処理が存在する場合などに対し、こちらのBlob Storageを利用することで非同期の処理を組む構成とすることが可能となる。

 

Blob Storageを活用した非同期的処理の構成

Blob Storageを活用した非同期的処理は以下のような流れで実現可能となる(こちらの説明は作成に必要なリソースの説明をかなり省略したものとなっているため注意が必要)。今回は、処理Aから情報のつまったファイルを処理Bに渡し、処理Bはそのファイル情報をもとに処理を実行するといった例で考える。

1: 処理AからBlob Storageの中にある「ストレージアカウント(名前空間)」の中にある「コンテナ(ファイルを格納するための箱)」にファイルを収納する
2: Blob Storageがファイルが格納されたことを感知し、それをEvent Gridというサービスに通知する
3: Event Gridは通知を受け取り、処理Bを発火させる(ファイルを受け取ったことをトリガーにする)

こういった構成にすることで、処理Aで大量のファイルをBlob Storageに投げ込むことになっても処理Bは順番に処理を行うことができるため、同期的な場合と比較して処理の待ち時間の軽減効果を得ることが可能となります。

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス