1

私の知る限り、Azureアプリケーションで開くことができるエンドポイントは5つだけですが、これらのポートを動的に開くとどうなりますか?例:とがありWorkerRole<Instances count="2" />接続が「myapp.cloudapp.net」に接続されたときに、インスタンス番号1が「.csdef」ファイルで宣言した5つの使用可能なエンドポイントの1つでソケットを開きます...そこにありますリスニングソケットがない2番目のインスタンスに接続が行われる可能性はありますか?

はい、ロードバランサーはラウンドロビンスケジューリングを使用しているため、気にせず、2番目の接続に接続を転送する可能性があると思いますが、間違っている可能性があります。

よろしく。

4

2 に答える 2

2

あなたは正しく推測しました。トラフィックを特定のインスタンスに転送する方法は絶対にありません。ロードバランサーは、インスタンスでリスナーが実行されているかどうかを認識しません。これを機能させる唯一の方法は、クライアントアプリ(Windows Azure展開に接続しているアプリ)が接続に成功するまで再試行を続けることです。

一般的なガイダンスは、1)各インスタンスを同じように動作させることです。この場合、各インスタンスのポートでリスナーを開き、2)ロードバランサーに追加する前に、OnStart()メソッドでリスナーを設定します。

于 2011-03-18T14:58:38.693 に答える
2

あなたはInputEndpointについて話していると思います。ただし、InternalEndpointsはロードバランサーを経由せず、他のロールによって具体的にアドレス指定できます。したがって、必要な特定のワーカーロールインスタンスにリクエストを転送できるハンドラーをWebロールに設定できます。

于 2011-03-20T22:56:43.843 に答える