分散型ウェブサイトサーバーの冗長性

分散型ウェブサイトサーバーの冗長性

ウェブサイトのインフラストラクチャが非常に複雑で、完全に分散されていると仮定します (おそらくほとんどの大規模なウェブ企業と同様)。

複数のクライアント要求を処理するためにこれらすべての追加の Web サーバーが存在するにもかかわらず、ユーザーが入力する必要がある単一の「マシン」がまだ存在すると考えるのは正しいでしょうか? このマシンは、IP アドレスに物理的に関連付けられているマシンになると思いますか?

私が質問する理由は、分散システムが存在する場所に、単一障害点 (通常は制御ノード、またはこの例ではパブリック インターネットに接続されたマシン) がまだ存在するかどうかを知る必要があるからです。異なる IP アドレスを持つ必要があるため、インターネットに接続された 2 台のマシンが存在することはあり得ないのではないでしょうか。

この「マシン」はサーバーそのものではありませんが、おそらくシスコの機器の一部です。現実世界では、これらの分散システムには、1 つの電子デバイスの整合性に依存する特定のセクションがまだあるかどうかを知る必要があります。

答え1

すべてのリクエストが通過するマシンは1台だけである必要はなく、このマシンは「ロードバランサーただし、クライアントが行う各リクエストが自己完結型である場合、または分散フロントエンドが同期された分散バックエンドと通信できる場合、クライアントは行うリクエストごとに異なるマシンと通信できます。

必要なのは、クライアントが独立したマシンに、リクエストを完了するために必要なすべての情報をリクエスト内で単独で提供するか、サーバーがトークン (多くの場合、Web サイトの Cookie) に対してバックエンドの分散データベースにクエリを実行し、サーバーが他のマシンが中断したところから処理を再開することだけです。

答え2

あなたの質問に答えると、いいえ、単一障害点のない Web サイト インフラストラクチャを構築できます。

DNSラウンドロビンでは、複数のIPを単一のドメイン名に関連付けることができます。これらのフロントエンドはそれぞれ、クラスター化されたバックエンド システムでは、データベースの複数の独立したコピーが存在し、継続的に同期されます。

ジェフ・アトウッドは実際ブログに書いたテストに使用するサービスやインスタンスをランダムに停止させるデーモンなど、単一障害点の影響を受けないようにシステムを設計するための Netflix の取り組みについて。

答え3

いくつかの例:

Ubuntu 9.10 (Karmic) で IP フェイルオーバー、ハートビート、Pacemaker を使用して Web サイトの可用性を高める

Microsoft Cluster Server (MSCS) は、クラスター内の IP アドレス リソースを定義し、あるノードから別のノードにフェールオーバーする機能を提供します。

同じ原則は、受信した HTTP 要求をサーバー ファーム内の Web サーバー ノードに分散する役割を持つロード バランサーなどのフロントエンド システムにも適用できます。

答え4

1 つのドメイン名に複数の異なる IP アドレスが関連付けられることがあります (多くの場合、複数の IP アドレスが関連付けられます)。たとえば、google.com は現在 (私の場合) 次のように解決されます。

Name:   google.com
Address: 173.194.34.129
Name:   google.com
Address: 173.194.34.130
Name:   google.com
Address: 173.194.34.131
Name:   google.com
Address: 173.194.34.132
Name:   google.com
Address: 173.194.34.133
Name:   google.com
Address: 173.194.34.134
Name:   google.com
Address: 173.194.34.135
Name:   google.com
Address: 173.194.34.136
Name:   google.com
Address: 173.194.34.137
Name:   google.com
Address: 173.194.34.142
Name:   google.com
Address: 173.194.34.128

Web ブラウザの動作はさまざまですが、一般的にはランダムに 1 つの IP アドレスを試し、最初の IP アドレスから応答が得られなかった場合は別の IP アドレスに移動します。したがって、ここでは単一障害点はありません。

関連情報