0

複数のリージョンの Azure に Web サイトがあります。ユーザーはファイルをアップロードできるため、各リージョンには Web サーバーのほかにストレージ アカウントもあります。

現在、Traffic Manager を使用してユーザーを最適なリージョンにリダイレクトしています。しかし、私はあまり満足していません...たとえば、セッションアフィニティをサポートしていません。そのためにアプリケーション ゲートウェイを使用することもできますが、アプリケーション ゲートウェイを使用すると、セッション 1 でユーザーがリージョン 1 に着陸し、セッション 2 でユーザーがリージョン 2 に着陸する可能性があるため、これも実際には必要ではありません。ユーザーはリージョン 1 と 2 にファイルをアップロードし、ユーザーが別のリージョンに到達するたびにリージョン間でファイルを転送する必要があります。

したがって、独自のトラフィック マネージャーを作成したいと思います。カスタムarr書き換えプロバイダーを使用し、geoipに基づいてユーザーをリダイレクトするWebサーバーを含むクラウドサービスを作成します。

私が懸念しているのはスループットだけです...リバースプロキシを正しく理解していれば、すべての地域のすべてのWebサイトのすべてのトラフィックがこのプロキシを通過します。Web サイトにはストリーミングの可能性もあり、クライアントとサーバー間の通信には WebSocket を多用しています。

カスタムarrを使用したこのアプローチはスケーラブルですか? すべてのトラフィックがこの 1 つのクラウドサービスを通過するとしたら? arr リクエストを処理する複数の Web サーバーを作成できると思いますが、たとえば遅延の問題は何ですか?

たとえば、トラフィックマネージャーのクラウドサービスが北ヨーロッパにあり、ブラジルからユーザーが来るとします。ブラジルにリージョンがありますが、すべてのトラフィックが北ヨーロッパのプロキシを通過すると、遅延が壊滅的になり、ブラジルにリージョンを持つことのすべての利点がなくなると思います.

要するに、geoipに基づいてAzureの特定の地域にユーザーをリダイレクトし、全体をスケーラブルで可能な限りパフォーマンスを高く保ちたい:)。そのための最良のアプローチは何でしょうか?

ご協力いただきありがとうございます!BR、代謝

4

1 に答える 1

0

Azure Traffic Manager は DNS レベルで動作します。DNS クエリからの IP データを使用して、そのユーザーのトラフィックを最も近い Azure リージョンに転送する DNS 応答を提供します (「パフォーマンス」トラフィック ルーティング メソッドを使用している場合)。その後、ユーザーはそのリージョンのサービスに直接接続します。

利点は、Traffic Manager がエンド ユーザー トラフィックのプロキシではないため、説明した問題に悩まされないことです。

欠点は、Traffic Manager は DNS トラフィックのみを認識し、TCP/HTTP トラフィックを認識しないため、セッション アフィニティを提供できないことです。

この問題を解決する最善の方法は、Traffic Manager を使用してトラフィックを最も近いサービス エンドポイントに転送し、アプリケーション レベルで (または、実際に行っているようにプロキシで) セッション アフィニティを実装することです。

于 2015-11-23T10:21:02.680 に答える