クラスタリングとは、2台以上のコンピューターを接続し、クライアントからは単一の(仮想)マシンに見えるようにすることです。一般的には、クラスタの前段にロードバランサーを配置してクライアントからのリクエストを受け付け、クラスタ内のメンバーノードに分散します。クラスタリングは、汎用ハードウェアを使用してWebサイトやアプリケーションのパフォーマンス、信頼性、スケーラビリティを向上させる、費用対効果の高い方法です。

ロードバランサーに関する一般的な情報については、ハードウェアロードバランサーと比較して80%のコストを削減をご覧ください。

クラスタリングは、水平スケーリングとも呼ばれます。需要の増加に応じてクラスタにサーバーを追加するだけで、ロードバランサーが拡張されたサーバー群にリクエストを分散します。一方、垂直スケーリングでは、1秒あたりに処理できるリクエスト数がより多い高性能なサーバーに置き換える必要があり、一般にコストの高い方法です。

最も一般的な構成では、クラスター内のすべてのサーバーが同じコンテンツをホストし、同じアプリケーションを実行します。この場合は、単純な負荷分散アルゴリズムで十分です。最も単純なアルゴリズムの1つがラウンドロビンで、クラスター内のノードにリクエストを順番に分散します。また、異なる種類の専用マシンをクラスター化し、レイヤー7ロードバランサーを使用して、リクエストされたコンテンツの種類に基づき、適切なサーバーにトラフィックを振り分けることもできます。たとえば、ロードバランサーは動画のリクエストをストリーミングメディアサーバーに振り分け、価格や在庫情報のリクエストをデータベースアプリケーションが稼働するサーバーに振り分けることができます。

クラスタリングのメリット

  • パフォーマンスの向上 – 必要に応じてクラスターノードを追加し、ノード間で負荷を分散することで、Webおよびアプリケーションデータを求めるユーザーのリクエストに迅速かつ正確に応答できます。
  • 信頼性の向上 – クラスターは、その定義上、単一障害点を排除します。いずれかのノードに障害が発生すると、そのノードがオンラインに復帰するまで、ロードバランサーがリクエストを他のノードに振り分けます。
  • コスト削減 – クラスタリングは、汎用ハードウェアのみでパフォーマンスと拡張性を実現できる、低コストな方法です。
  • メンテナンスの容易さ – クラスター内の他のノードが引き続きリクエストを処理できるため、通常の営業時間中でも、必要に応じてノードをオフラインにしてメンテナンスやアップグレードを実施できます。

NGINXはどのように役立つのか

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

ソフトウェアロードバランサーであるNGINX Plusは、同等の機能を備えたハードウェアソリューションよりも大幅に低コストです。高度な負荷分散アルゴリズム、サーバーのヘルスチェックなどの機能を備えており、複数のサーバーへのトラフィック分散に最適です。

NGINX Plusを使用してアプリケーションの負荷分散を行うメリットについて詳しくは、ブログ記事「ソフトウェアロードバランサーに切り替える5つの理由」をご覧ください。