Windows Azure:キューとService Busキュー-類似点と相違点

画像



この記事では、最新のWindows Azureプラットフォームで使用可能な2種類のキュー(Windows AzureキューとWindows Azureサービスバスキュー)の類似点と相違点を分析します。 この情報に基づいて、それぞれのテクノロジーの類似点と相違点を強調し、ニーズに最適なソリューションを選択できます。



はじめに



Windows Azureは、 Windows Azure キューサービスバスキューの 2種類のキューメカニズムをサポートしています



Windows Azureストレージインフラストラクチャの一部であるWindows Azureキューは 、Get / Put / Peek機能を備えたシンプルなRESTインターフェイスをサポートし、サービス間およびサービス内で信頼性と復元力のあるメッセージングシステムを作成します。



Service Busキューは、より広範なWindows Azureメッセージングインフラストラクチャの一部であり、キューイング、発行、サブスクライブ、リモートWebサービス、および統合パターンをサポートします。



両方のキューテクノロジが並行して存在しますが、Windows Azureキューは以前に登場しました。 Windows Azureストレージサービス用のこのアドインは、キューを使用してデータウェアハウスを操作するための特別なメカニズムです。 サービスバスキューは、最新のサービスバスリリースで取り上げられています。 これらは、より広範な中間メッセージングインフラストラクチャへのアドオンです。 このインフラストラクチャは、複数の異なるメッセージングプロトコル、データコントラクト、信頼できるドメイン、およびネットワーク環境を使用できるアプリケーションまたはアプリケーションコンポーネントを統合するように設計されています。



この記事では、Windows Azureに実装されている2つのキューイングテクノロジーの比較分析を提供します。 両方のテクノロジーの動作モードと機能について説明します。 この記事では、アプリケーション開発に関連するタスクを解決するのに最適な機能を選択するための推奨事項も提供しています。



技術の選択



Windows AzureキューとService Busキューは、Windows Azureで現在利用可能なメッセージキューサービスの実装です。 これらのテクノロジーにはさまざまな機能セットがあります。 ニーズまたは解決する問題(技術的または商業的)に応じて、どちらかまたは両方を一度に選択できます。



特定のソリューションにキューイングテクノロジーを選択する場合、そのアーキテクトと開発者は次の推奨事項を考慮する必要があります。 詳細については、次のセクションを参照してください。



アーキテクトまたはソリューション開発者 、次の場合にWindows Azureキューの使用を検討する必要があります。





アーキテクトまたはソリューション開発者 、次の場合にWindows Azureサービスバスキューの使用を検討する必要があります。





Windows AzureキューとService Busキューの比較



次のセクションの表には、論理的にグループ化されたキュー機能が含まれています。 これらの表は、Windows Azureキューとサービスバスキューの機能の違いを示しています。



基本機能



このセクションでは、Windows Azureキューとサービスバスキューのコア機能の比較分析を提供します。



比較基準

Windows Azureキュー

サービスバスキュー

注文保証

いや

はい-先入れ先出し(FIFO)



(メッセージングセッションを使用)

配送保証

少なくとも1回(少なくとも1回)

少なくとも1回(少なくとも1回)



一度限り(最大1回)

トランザクションサポート

いや

はい



(ローカルトランザクションを使用)

受け取る反応

ノンブロッキング



(新しいメッセージが見つからない場合はすぐに終了します)

ブロッキング(待ち時間の有無にかかわらず)



(長いポーリング間隔または長寿命のHTTP接続に基づくメソッドのサポート)



ノンブロッキング



(.NETプラットフォームで管理されるAPIのみを使用)

受信モード

読書とレンタル

読み取りとロック



受信して削除

排他的アクセスモード

レンタルベース

ロックベース

レンタル期間とブロック期間

30秒(デフォルト)



7日間(最大)

60秒(デフォルト)



5分(最大)

レンタル/ロックの詳細

メッセージレベル



(各メッセージは独自のタイムアウト値を持つことができます)

キューレベル



(各キューには独自のブロック単位があり、すべてのメッセージに対して有効であり、キューの存続期間全体にわたって固定されています)

バッチ領収書

はい



(受信時のメッセージ数の明示的な表示、最大32メッセージ)

はい



(プリフェッチを暗黙的に(パラメーターを使用して)または明示的に(トランザクションを使用して)有効にします)

バッチ送信

いや

はい



(トランザクションまたはクライアントからのバッチ送信経由)



追加情報





高度な機能



このセクションでは、Windows Azureキューとサービスバスキューの高度な機能の比較分析を提供します。



比較基準

Windows Azureキュー

サービスバスキュー

予定配送

はい

はい

削除されたメッセージの自動マーキング

いや

はい

遅延メッセージング

はい



(可視性タイムアウトのインプレースリフレッシュを使用)

はい



(専用のAPI関数を使用)

クラッシュレポートのサポート

はい

はい

一括アップグレード

はい

いや

サーバー側のトランザクションログ

はい

いや

ストレージメトリック

はい

いや

キュークリア機能

はい

いや

メッセージグループ

いや

はい



(メッセージングセッションを使用)

重複メッセージの検出

いや

はい



(送信側で構成可能)

WCF統合

いや

はい



(定義済みのWCFバインディングが含まれます)

WF統合

個別設定



(カスタムWFアクションの作成が必要です)

自分の



(既製のWFアクションを含む)



追加情報





容量とクォータ



このセクションでは、Windows Azureキューとサービスバスキューの容量と現在のクォータに関する比較分析を提供します。



比較基準

Windows Azureキュー

サービスバスキュー

最大メッセージサイズ

64 kb



Base64エンコードを使用する場合は48K)

256 kb



(メッセージのタイトルと本文を含む、最大ヘッダーサイズ64 KB)

最大キューサイズ

100 TB



(1つのストレージアカウントに制限)

1、2、3、4、または5 GB



(キュー作成時に定義)

最大メッセージ有効期間

7日間

制限なし

キューの最大数

制限なし

10,000



(1つのサービス名前空間について、増加する場合があります)

同時クライアントの最大数

制限なし

制限なし



(100の同時接続の制限は、TCPを介したデータ交換にのみ適用されます)



追加情報





管理と運用



このセクションでは、Windows Azureのキュー管理機能とサービスバスキューの比較分析を提供します。



比較基準

Windows Azureキュー

サービスバスキュー

制御プロトコル

REST over HTTP / HTTPS

HTTPS経由のREST

ランタイムプロトコル

REST over HTTP / HTTPS

HTTPS経由のREST



TLSサポート付きTCP

.NET API

はい



(.NETボールトクライアントAPI)

はい



(.NET中間メッセージングAPI)

Java API

はい

はい

PHP API

はい

はい

Node.js API

はい

いや

カスタムメタデータのサポート

はい

いや

キューの命名規則

63文字までの長さ



(キュー名には小文字のみを使用する必要があります)

260文字までの長さ



(キュー名は大文字と小文字が区別されません)

キュー長関数

はい



(おおよその値)

はい



(特定の時点の正確な値)

読み取り機能

はい

いや



追加情報





性能



このセクションでは、パフォーマンスに関するWindows Azureキューとサービスバスキューの比較分析を提供します。



比較基準

Windows Azureキュー

サービスバスキュー

最大スループット

1秒あたり最大2000メッセージ

1秒あたり最大2000メッセージ



(1 KBメッセージを使用したパフォーマンステストに基づく)

平均遅延時間

10ミリ秒



TCP Nagleが無効の場合)

100ミリ秒

リクエスト調整モード

HTTP 503エラーコードによる拒否のリクエスト



(リクエスト数を規制するモードで受信したリクエストは課金されません)

例外とHTTP 503エラーコードでリクエストを拒否する



(リクエスト数を規制するモードで受信したリクエストは課金されません)



追加情報





認証と承認



このセクションでは、Windows Azureキューおよびサービスバスキューの認証および承認機能の比較分析を提供します。



比較基準

Windows Azureキュー

サービスバスキュー

認証

対称キー

ACSアプリケーション

役割ベースのアクセス制御

いや

はい



(ACSロールを使用)

IDプロバイダーのフェデレーション

いや

はい



追加情報





費用



このセクションでは、Windows Azureキューとサービスバスキューの使用コストの比較分析を提供します。



比較基準

Windows Azureキュー

サービスバスキュー

キューのトランザクションコスト

0.01ドル



(10,000トランザクションの場合)

0.01ドル



(10,000件の投稿の場合)

関税オペレーション

全部

送受信のみ



(他の操作に手数料はかかりません)

ワークロードのないトランザクション

充電されます



(空のキューへのリクエストは有料のトランザクションと見なされます)

充電されます



(空のキューからメッセージを受信すると課金されます)

データストレージコスト

0.14ドル



(毎月GBあたり)

0.00ドル

アウトバウンドコスト

0.12〜0.19ドル



(地理的位置による)

0.12〜0.19ドル



(地理的位置による)

Windows Azureアクセス制御(ACS)を使用したトランザクションコスト

0.00ドル



(ACSは使用されません)

1.99ドル



(トークンリクエスト10,000件につき、以下のコメントを参照)



追加情報





ご注意 すべての値は変更される可能性があります。 上記の表は、この記事の執筆時点での価格を反映しています。 この記事には、読む時点で利用可能なプロモーションは含まれていません。 最新の価格情報は、 価格の概要ページで提供されます。



おわりに



明らかに、Windows Azureキューまたはサービスバスキューを使用するかどうかは、多数の要因に依存します。 これらの要因は、アプリケーションとそのアーキテクチャの特定の要件に依存します。 アプリケーションが既にWindows Azureのコア機能を使用している場合は、Windows Azureキューを選択できます。 これは、サービス間でデータとメッセージを交換するための基本的な機能が必要な場合、または5 GBを超えるキューが必要な場合に特に当てはまります。



サービスバスキューには、セッション、トランザクション、再試行の検出、削除キューへの自動移動、フォールトトレラントパブリッシングおよびサブスクライブツールなど、多くの高度な機能があります。 ハイブリッドアプリケーションを作成している場合、またはアプリケーションが機能するために上記の機能が必要な場合は、このソリューションを選択できます。



この記事は、ガイドラインと推奨事項の概要から始まります。 次に、Windows Azureで利用可能なキューイングテクノロジーの機能について説明します。 機能を機能別にグループ化すると、視覚的な比較分析を実行して、Windows Azureキューとサービスバスキューの類似点と相違点を特定できます。



これらの問題の詳細な調査は、特定の問題を解決するのに最適なキューイングテクノロジーを選択するのに役立ちます。



こちらもご覧ください



Windows Azure Service Bus Brokered Messaging APIを活用するためのベストプラクティス



Service Busブローカリングメッセージング(Service Busの中間メッセージングシステム)を使用したパフォーマンス改善のベストプラクティス



Service Busキューの使用方法



キューストレージサービスの使用方法



Azure Service Busのキューとトピックの紹介(Azure Service Busに実装されたキューとトピックの紹介)



サービスバス開発者ガイド



Windows Azureのテーブルとキューの詳細(Windows Azureのテーブルとキュー-詳細)



Windows Azureストレージアーキテクチャ



Windows Azureでキューサービスを使用する



Windows Azureストレージの課金について-帯域幅、トランザクション、および容量(Windows Azureストレージの課金システム-帯域幅、トランザクション、および容量)



All Articles