ラウンドロビン ロード バランシングとは何か

ラウンドロビン ロード バランシングは、最も単純にクライアントのリクエストをサーバのグループ全体に分散する方法の1つです。ラウンドロビン ロード バランサは、グループ内のサーバのリストに沿って、クライアントのリクエストを各サーバに順番に転送します。リストの最後に到達すると、ロード バランサはリストの最初に戻り、再び順番に転送していきます(次のリクエストをリストの最初のサーバに送り、その次のリクエストを2番目のサーバに送り、その後も同様に処理します)。

ロード バランシングの詳細については、「ロード バランシング:NGINX Plusを使用した拡張性の高いトラフィック管理」を参照してください。

ラウンドロビン ロード バランシングの最大の利点は、実装が非常に簡単な点です。しかし、多くのラウンドロビン ロード バランサは、必ずしも最も正確で効率的なトラフィックの分散を実現できるわけではありません。これは、すべてのサーバを同様に扱う(つまり、稼働中で、同じ負荷を処理中であり、同じストレージとコンピューティング能力を持っている)ことを前提としているためです。以下のタイプのラウンドロビン アルゴリズムは、他の要因を考慮し、より効率的なロード バランシングを実現します。

  • 重み付けラウンド ロビン – サイト管理者が選択した基準に基づいて、各サーバの重みが指定されます。最も一般的な基準は、サーバのトラフィック処理能力です。重みが大きいほど、サーバが受け取るクライアントのリクエストの割合が大きくなります。例えば、サーバAの重みが3で、サーバBの重みが1の場合、ロード バランサは1件のリクエストをサーバBに送るごとに、3件のリクエストをサーバAに送ります。
  • 動的ラウンド ロビン – サーバの現在の負荷やアイドル状態の能力に関するリアルタイムのデータに基づいて、各サーバの重みが動的に指定されます。

アプリケーションを複数のクラウドに導入する場合の考慮事項については、こちらのビデオをご覧ください。

NGINXがお手伝いできること

NGINX PlusNGINXは、クラス最高レベルのロード バランシング ソリューションであり、Dropbox、Netflix、Zyngaなどの高トラフィックのWebサイトで使用されています。世界中で3億5,000万以上のWebサイトが、NGINX PlusとNGINX Open Sourceを利用してコンテンツを迅速に、確実に、そして安全に提供しています。

NGINX Plusのロード バランサでは、デフォルトでラウンドロビン手法を使用しますが、パフォーマンスを向上させ、クライアントに返されるエラーを減らす機能を備えています。サーバがリクエストへの応答に失敗したり、エラーを返したりした場合、NGINX Plusのロード バランサは自動的にリクエストを別のサーバに再送信し、設定された期間(デフォルトでは10秒)が経過するまでは失敗したサーバにリクエストを送信しません。また、重み付けラウンド ロビンと動的ラウンド ロビンの両方、またはNGINX Plusで利用できる、より高度なロード バランシング アルゴリズムのいずれかを構成できます。アルゴリズムの詳細については、『NGINX Plus管理者ガイド』の「ロード バランシング手法の選択」を参照してください。

NGINX Plusを使用してアプリケーションのロード バランシングを行うメリットの詳細については、当社のEブック「ソフトウェア ロード バランサを選ぶべき5つの理由」をダウンロードしてご覧ください。