5

概念実証用紙として、WindowsAzureに関する事実を収集しました。決定的な答えを見つけることができなかった残りの2つのトピックがあります。

  1. スティッキーセッション/スティッキーロードバランシングは不可能ですよね?たぶん、Azure Traffic Manager(WATM)の助けを借りて可能性はありますか?

  2. デプロイメントの単一のインスタンスに対処できますか、それともすべてがAzureのこの不透明な壁の背後にありますか?または、少なくとも、実行時にインスタンスがそれをログに書き込むために、それ自体のIDまたはそのようなものを決定できますか?

4

3 に答える 3

1

以下の答えを見つけてください:

  1. スティッキーセッション/スティッキーロードバランシングは不可能ですよね?たぶん、Azure Traffic Manager(WATM)の助けを借りて可能性はありますか?

あなたは正しいです。WindowsAzureとのスティッキーセッションはありません。いいえ、TrafficManagerを使用して粘着性について支援することはできません。Traffic Managerは、インスタンスではなく、ロール間で負荷を分散するのに役立つだけです。ロールとインスタンスを区別してください。ロールとインスタンスの詳細については、この質問をご覧ください。

2.デプロイメントの単一のインスタンスに対処できますか、それともすべてがAzureのこの不透明な壁の背後にありますか?または、少なくとも、実行時にインスタンスがそれをログに書き込むために、それ自体のIDまたはそのようなものを決定できますか?

特定のインスタンスをアドレス指定することはできません。すべてがWindowsAzureロードバランサーとFireWallの背後にあります。ただし、コードから、現在のロールインスタンスを見つけることができます。RoleEnvironmentクラスのCurrentRoleInstanceプロパティを使用します。これは、IDプロパティを持つRoleInstanceタイプのオブジェクトになります。

于 2011-11-22T09:35:32.387 に答える
1

astaykovが指摘しているように、ロールインスタンスは常にファイアウォールの背後にあり、デプロイメントの外部から特定のインスタンスにアクセスすることはできません。

スティッキーセッションを実行する唯一の方法は、リクエストルーターを作成することです。これを実行すると(たとえば、同じデプロイメント内で、sharptoothが指す例のように、独自のWebまたはワーカーロールで)、そのロールはデプロイメント内の他のロールの内部エンドポイントにアクセスできます。

内部エンドポイントは負荷分散されていませんが、要求ルーターは内部エンドポイントのすべてのインスタンスを列挙し(それぞれにip:portを取得)、独自の負荷分散またはルーティングを実行する場合があります。

内部エンドポイントを使用した役割間の通信の例については、このmsdnの記事を参照してください。

于 2011-11-22T11:54:14.040 に答える
0

決定的な答えはまだありませんが、3つの最良の選択肢は次のとおりです。

  1. 状態サーバー-これにより、ネットワークの外部でもサーバー間で暗号化されたデータを取得できます。これを行うには、Webアプリケーションまたはサーバーの各インスタンスにStateServerを実装します。

  2. SQL Server(メモリ内で、これは2014以降のバージョンでのみ使用可能です)

  3. AzureでのRedisキャッシュ

3つのオプションは、過去3年間に遭遇したほぼすべてのセッションの問題を処理しました。

于 2015-08-28T18:33:38.730 に答える