Azureのキューサービスとは?

Azureのキューサービスとは?

Azure キューストレージは、複数のメッセージを格納するサービスです。
HTTP、HTTPSを使用して認証した呼び出しを介することで、世界中のどこからでもメッセージにアクセスすることが可能です。
キューメッセージの許容最大サイズは64KBであり、アカウントの総容量を超えない限りであれば、数百万のメッセージを保有することができます。
通常は、非同期的な処理用の作業バックログを作成する処理のためにキューを使用します。

Azure キューストレージはメッセージキューをサポートしています。
メッセージングとは、分離したシステム間でのメッセージのやりとりのことであり、通常、システム通信は1対1で行いますが、
この方式が不都合な状況では、キューストレージのメッセージキューシステムが有用になります。

キューサービスの概要

■URL形式:キューは、URL形式を使用してアドレス指定することが可能です。
http://[storage account].queue.core.windows.net/[queue]
■ストレージ アカウント:Azureストレージにアクセスする場合に、ストレージアカウントを使用します。
■キュー:キューは、メッセージのセットを格納します。すべてのメッセージはキューに格納されている必要があり、キュー名は小文字で入力する必要があります。
■メッセージ:キューメッセージは最大64KBで、形式を問わずに使用できます。メッセージキューを保有できる最長時間は7日間です。

キューストレージの作成

キューストレージの作成は、Azure Portalを利用してストレージアカウントを作成することで可能になります。
簡単にメッセージを格納することができます。

StorageキューとServiceBusキュー

Microsoft AzureではStorageキューとServiceBusキューという2種類のキューが提供されています。
相違点および、共通点を以下に記載します。

Storageキュー

Azure Storageインフラストラクチャの一部です。
RESTベースのGET/PUT/PEEKインターフェイスを使用しサービス内およびサービス間で信頼性の高い永続的なメッセージングを提供。

ServiceBusキュー

より大きなAzureメッセージングインフラストラクチャの一部です。
キュー処理だけではなく、パブリッシュ/サブスクライブなどの高度な統合パターンがサポートされています。

2つのキューテクノロジは共存していますが、Azure Storageサービス上ではStrageキューが専用のキューストレージメカニズムとして先に導入されています。
ServiceBusキューは、より大きなメッセージインフラストラクチャー上に構築されており、
「複数の通信プロトコル」、「データコントラクト」、「信頼ドメイン」、「ネットワーク環境」などにまたがるアプリケーションや、
アプリケーションコンポーネントの統合を目的として使用することができます。。

Storageキューの利用を検討するケースは?

・キューに格納する必要があるメッセージの量が80GB超過、メッセージの有効期間が7日未満。
・キュー内のメッセージ処理の進行状況を追跡する必要がある場合。メッセージを処理しているworkerがクラッシュした場合に役に立ちます。
・キューに対して実行されたすべてのトランザクションの、サーバー側ログが必要である場合。

ServiceBusキューの利用を検討するケースは?

・キューのサイズが80GBを超えない場合。
・アプリケーションで処理するメッセージのサイズが64KBを超えることはあっても、256KBの制限に到達することはない場合。
・キューをポーリングせずにメッセージを受信できる必要がある場合。
・キューによるメッセージの配信が先入れ先出し(FIFO)の順序で行われる保証が必要である場合。
・バッチ メッセージの発行および使用が必要な場合。

二種類のキューストレージを使用する状況については、さまざまな要因に依存します。
アプリケーションとそのアーキテクチャの個々のニーズに大きく依存した要因となる場合もあります。
既にMicrosoftAzureのコア機能を使用しているアプリケーションである場合(特にサービス間の基本的な通信およびメッセージングや、
80GBを超えるサイズのキューが必要な場合)は、Storage キューを選択することが可能です。
ServiceBusキューには拡張機能が数多く用意されており (セッション、トランザクション、重複検出、自動的な配信不能レタリング、持続性のある発行/サブスクライブの機能など)
ハイブリッドアプリケーションを作成する場合、アプリケーションでこれらの機能が必要な場合などでは、ServiceBusキューを選択することが可能です。

簡単な導入から、豊富な拡張機能まで、ニーズに合わせてキューを活用されてみてはいかがでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です