0

サーバーが複数のデータセンターに分散しており、それぞれに異なるファイルが保存されています。ユーザーが単一のドメインを介してすべてのサーバー上のファイルにアクセスできるようにし、個々のサーバーがファイルをユーザーに直接返すようにしたいと考えています。

以下に簡単な例を示します。
1) ユーザーのブラウザーがhttp://www.example.com/files/file1.zip
を要求します。 2) 要求は、example.com の DNS A レコードに基づいてサーバー A に送信されます。
3) サーバー A はリクエストを分析し、/files/file1.zip がサーバー B に保存されていることを突き止めます。
4) サーバー A はリクエストをサーバー B に転送します
。 A.

注: ステップ 4 と 5 はユーザーに対して透過的である必要があり、単一ドメインの要件に違反するため、ユーザーにリダイレクトを送信することはできません。

私の調査によると、達成したいのは「Direct Server Return」と呼ばれ、負荷分散のための一般的なセットアップです。ハーフ リバース プロキシと呼ばれることもあります。

ステップ 4 では、MAC アドレス変換を実行してから、要求をネットワークに戻す必要があるように思われます。サーバーのネットワーク外にあるサーバーには、トンネリングが必要になります。

手順 5 では、ロード バランシング セットアップの実サーバーに従って、サーバー B を構成する必要があります。つまり、サーバー B はループバック インターフェイスでサーバー A の IP アドレスを持つ必要があり、その IP アドレスに対する ARP 要求に応答しないようにする必要があります。

私の問題は、実際にステップ4を達成する方法ですか?

レイヤー 4 で単純な負荷分散を行うためにこれを実行できるハードウェアとソフトウェアをたくさん見つけましたが、これらのソリューションは不足しており、私が必要とする種類のカスタム ルーティングを処理できません。独自のソリューションを展開する必要があるようです。

理想的には、Web サーバー レベル、つまり PHP または C#/ASP.net でルーティング/転送を行いたいと考えています。ただし、Apache や IIS などの下位レベル、またはさらに下位レベル、つまりすべての前にカスタム プロキシ サービスを配置することにはオープンです。

4

2 に答える 2

1

無知で申し訳ありませんが、Unix バリアントを使用しているか、Windows を使用しているかに応じて、NFS または SMB を介して他のサーバーにあるファイルをマウントするようにサーバー A をセットアップしてみませんか?

あなたがやろうとしていることは、非常に単純なことを過度に複雑にしているようです。さらに、ネットワークにマウントされたファイルを使用すると、将来必要になったときにそれらのファイルを追加のマシンにマウントできるようになります。その時点で、ロード バランサーをサーバー A (およびサーバー x、y、および z、サーバー B からのファイルもすべてマウント) の前に配置できます。

これでリターン時にサーバー A をバイパスする問題は解決されませんが、技術的にはサーバー A はサーバー B ではなくファイルを返しますが、ロード バランサーを A の前に配置すると、A はとにかく B になるので、技術的には、ロードバランサーは直接サーバーリターンを使用するため、Bは引き続きファイルを返します(これは長い間標準的な機能です)。

私が何かを逃した場合は、詳しく教えてください。

編集: はい、これがほぼ 3 年前に投稿されたことに気付きました。しかたがない。

于 2012-09-03T03:06:04.650 に答える
0

ステータス コード 307 一時リダイレクトの HTTP 応答を送信しないのはなぜですか?

その時点で、クライアントは指定された正しいサーバーに再要求します。

単一のドメインが必要なことは承知していますが、個別のサブドメインと単一の共通ドメインの両方を持つことができます。

例えば:

example.comIP1、IP2、IP3 があります。

example1.example.comIP1
example2.example.comあり IP2
example3.example.comあり IP3 あり

リクエストがサーバーに送られ、それ自体では処理できない場合、ユーザーは正しい特定のサーバーに別のリクエストを行うように転送されます。ちなみに、HTTP ブラウザはこのリダイレクトを透過的にたどります。

于 2010-02-14T03:51:20.790 に答える