3

Azure ロール (Web ロールまたはワーカー ロール) を取得して別の Azure ロールと通信する方法について、私はまったく困惑していますか?

サービス バス リレーを調べたところ、その速度はばかげています。デバッグ中に、あるロールから別のロールにデータを取得するのに約 6 時間かかりました。クラウドで実行される Web サービスを介してまったく同じデータを公開すると、そのデータを 1 分以内に携帯電話にダウンロードできます。ばかげている。私は、データが自分のマシンからクラウドに送信され、そこから自分のマシンに戻ったと仮定しています。

サービス バス リレーには、高速通信を可能にするために直接ソケット接続を開くことになっているハイブリッドと呼ばれるモードがありますが、これを実現する方法に関するドキュメントは文字通りありません。

WCF NetTcpBinding を介して 1 つのロールでサービスを公開しましたが、他のロールでサービスを呼び出せるようにする方法がわかりません。

Service Bus Queues/Subscriptions も確認しましたが、送信できるメッセージには 256KB の制限があります。

一般的なシナリオであるはずの 2 つの役割 (まったく同じ物理コンピューター上に存在する可能性が高い) 間の高速通信に関するドキュメントやチュートリアルが不足しているとは信じられません。

どんな助けでも大歓迎です、ありがとう!

4

3 に答える 3

3

ロールが同じクラウド サービスに属している場合は、内部エンドポイント経由でアクセスできます。ロールとポートの内部 IP アドレスを取得し、WCF 呼び出しを確立できます。

ここに役立つトピックがあります http://msdn.microsoft.com/en-us/library/windowsazure/hh180158.aspx

于 2013-02-17T02:01:59.557 に答える
0

Azure Storage の使用を検討しましたか? ある VM から別の VM に大きなデータ パッケージを送信したいようです。データを送信する比較的簡単な方法は、ストレージ BLOB とキューを使用することです。まず、データを BLOB に書き込みます。次に、データが利用可能な場所を示すメッセージをキューに書き込みます (各受信者には独自のキューがあります)。その後、受信者はメッセージをダウンロードし、Blob を削除します。これは直接ソケット接続よりも遅くなりますが、より単純で非同期です。非同期通信は、クラウド システムの大きな利点です。このソリューションでは、レシーバーが更新のためにダウンしている場合、後で復旧したときにメッセージを受け取ります。

于 2014-08-07T14:31:26.497 に答える
0

ここで満足のいく答えが見つからなかったので、フォローアップとして、私が取ったアプローチは、データをSQL azureに書き込み、サービスバスを介して更新があることを通知し、すべてのサブスクライバーが更新されたデータをSQL自体からプルできるようにすることでした. この特定のシナリオで機能します。

サービスバス経由でデータ自体を送信しようとすると、非常に遅くなりました。代わりに、ロール間イベント システム (サービス バス トピック/サブスクリプションを使用) として使用するとうまくいきます。

于 2013-05-08T23:48:23.290 に答える