名前が示すように、負荷分散とは、サーバー ファームまたはサーバー プールとも呼ばれる接続されたサーバーのグループにサーバー トラフィックを効率的に分散することを指します。.
ユーザーやクライアントから多数のリクエストが同時に送られてきます。ウェブサイトは数千、場合によっては数百万ものリクエストを同時に処理し、適切なテキスト、画像、動画、アプリケーションデータを高速かつ確実に返す必要があります。通常、このような膨大なリクエストをコスト効率よく処理するためには、現代のコンピューティングのベストプラクティスでは、サーバーの追加が求められます。.
ロードバランサーは「交通整理係」として、サーバーの前段に配置され、クライアントからのリクエストを、そのリクエストに対応できるすべてのサーバーに振り分けます。ロードバランサーは、パフォーマンスの低下につながる可能性のある、特定のサーバーへの過負荷を防ぎます。すべてのサーバーの速度と容量使用率を最大化し、特定のサーバーが過負荷にならないようにします。ロードバランサーは、いずれかのサーバーがダウンした場合でも、トラフィックが残りのサーバーにルーティングされるようにします。ロードバランサーは、サーバーリストに新しいサーバーを追加することでサーバーグループに追加されると、自動的にそのサーバーへのリクエストの送信を開始します。.
ロードバランサーはどのように機能しますか?
リクエストを処理できないサーバーへのトラフィックのルーティングを防ぐため、ロードバランサーは高度なアルゴリズムを用いてバックエンドサーバーの健全性を検出します。ロードバランサーの目的は、リソースプール内の複数のウェブサーバーへのトラフィックを管理することです。ハードウェアロードバランサーかソフトウェアロードバランサーか、またどのようなアルゴリズムを使用しているかに関わらず、単一のサーバーが過負荷状態になり、過剰なワークロードによって信頼性が低下するのを防ぎます。その結果、サーバーの応答時間は最小限に抑えられ、スループットは最大化されます。.
多くの場合、負荷分散は交通警官の役割に例えられます。これは、負荷分散は、要求を特定の瞬間に最も適切な場所に体系的にルーティングし、コストのかかるボトルネックや予防的なインシデントを回避する役割を担っているためです。.
標準的な負荷分散ソリューションにはどのようなものがありますか?
ロードバランサー、またはそれを含むADCは、一連のアルゴリズムに従って、サーバーファーム全体にわたってリクエストをどのように分散するかを決定します。繰り返しになりますが、この点に関しては、非常に単純なものから非常に複雑なものまで、多くの選択肢があります。.
ラウンドロビン負荷分散
これは、クライアントが仮想サーバーにアクセスした際に、ローテーションリストに基づいてクライアントを別のサーバーに誘導するシンプルな負荷分散ソリューションです。しかし、実装が容易であるにもかかわらず、ロードバランサーはサーバーの既存の負荷を考慮に入れていません。その結果、サーバーは大量のリクエストを受信すると、プロセッサを集中的に使用するリクエストによって過負荷状態になる可能性があります。.
最小応答時間法
最小応答時間方式は、ヘルスモニタリング要求に対するサーバーの応答時間に依存するため、ヘルスデータのモニタリングにはより高度な手法です。期待されるユーザーエクスペリエンスは、サーバーの応答速度によって決まります。一部のロードバランサーでは、各サーバーのアクティブな接続数も考慮される場合があります。.
最小接続方式
最小接続方式はサーバーの現在の負荷を考慮しますが、ラウンドロビン方式は考慮しません(ローテーションにおける位置のみを考慮します)。その結果、パフォーマンスが大幅に向上します。さらに、最小接続方式を使用する場合、リクエストはアクティブな接続数が最も少ないサーバーに送信されます。.
この種の記事は Seahawk Media。