負荷分散型クラスタリング

負荷分散型クラスタリングについて考えてみましょう。 例えば、非常に人気のあるWEBサイトのWEBサーバーですが、 アクセスが集中するとサーバーの負担は大きくなり、 ある限界を超えると一部のユーザからのリクエストに対しては応答できなくなり、 それらのユーザにとっては、WEBサイトがタウンしているように見えます。 これは、収益獲得の機会が減ってしまったと考えることができます。 その影響で信頼を失ってしまったり不信感を与えてしまったりすると、 収益の減少は一時的ものに留まらない可能性もあります。

そのような状況を回避するために同じ構成のWEBサーバーを複数台用意して処理を分散させることで、 個々のサーバーにかかる負荷を軽減し、大量のアクセスに対してスムーズにサービスを提供させる手法があります。 それが、負荷分散型クラスタリングです。

負荷分散型の構成を実現するには、サーバーの手前でアクセスを振り分けるようにする仕組みが必要になります。 もっとも簡単なのはDNSラウンドロビンという方法です。 DNSでは、同じ名前に対して複数のIPアドレスを対応させ、 名前解決のリクエストのたびに異なるIPアドレスを回答させることができます。 これによりクライアントがアクセスするWEBサーバーを分散させることができます。 ただ、この方式では、どのサーバーどれだけアクセスが集中しているかが考慮されないので、 運が悪ければ停止状態のサーバーにアクセスしてしまい、サービスの提供が受けられないということにもなり得ます。

そこで本格的に負荷分散を行う場合、ロードバランシンクという技術を使用することになります。 一般的にはロードバランサという専用のコンピュータを使用します。 これによって非常に優れた負荷分散が可能になりますが、 問題はこのコンピュータがタウンするとユーザからはWEBサイト全体がタウンしているように見えてしまうので、 フェイルオーバ型クラスタリングを併用するような形で構成する必要も出てくるかもしれません。 (※フェイルオーバ型クラスタリングとは