ロードバランサー
読み:ロードバランサー
外語:load ballancer
ロードバランス
するための機械。負荷分散装置。
目次
概要
特徴
目的
アルゴリズム
機構
レイヤー4と7
概要
同じ目的の機器を複数用意し、その各機器の負荷に応じて処理を分散する仕組みを「
ロードバランス
」といい、このための装置をロードバランサーという。
スイッチングHUB
を使うのが一般的で、特に通信内容の全てを見て判断できる
レイヤー7スイッチ
が使われることもある。
特徴
目的
サーバーが一台だけではサービスの負荷に耐えられない場合、同等の機能を持つ複数のサーバーを用意し、ロードバランサーを使って要求をそれぞれのサーバーに転送する。
多くのサーバーを用意して負荷分散すれば、その分、各サーバーの負荷が下がり応答速度が向上する。
Webサーバー
をはじめとして、各種のアプリケーションサーバー、
メールサーバー
等、負荷が高まる傾向にあるものに使われている。
アルゴリズム
最もシンプルなものは、単純に、登録された各サーバーに均等に負荷を配分する「ラウンドロビン方式」である。これは、各サーバーマシンの能力がほぼ均等であることを前提とする。
各サーバーマシンの能力が異なる場合は他のアルゴリズムが必要になり、処理中のコネクション数が最小のサーバーを選択する「最少接続方式」、最も応答の速いサーバーを選択する「最速方式」などがある。
機構
ロードバランサーの基本的な動作は、
NAT
を使って、外部からの要求を、管理する各サーバーに配分するものである。
ルーターなどと同様にアドレス変換をし、配下にある複数台のサーバーに分散するのが主たる動作となる。
外部からはロードバランサーが一台のサーバーとして見えるが、内部では複数台のサーバーがあり、負荷分散アルゴリズムに準じて負荷が割り振られている。
レイヤー4と7
ロードバランサーの機能を有するものは様々な別名があり、「
レイヤー4スイッチ
」や「
レイヤー7スイッチ
」といった呼び方もある。
ロードバランスする機能自体は同じだが、動作が全く違う。
レイヤー4スイッチの場合、TCP/UDPの情報までを基準に動作するため、クライアントからの接続は、
SYNパケット
が来た時点でその先の接続するサーバーが選択され、レイヤー4スイッチとサーバー間でSYNパケットからのTCP接続が開始される。
レイヤー7スイッチの場合は若干処理が複雑になり、クライアントからHTTPの要求が来た時点でその先の接続するサーバーが選択され、レイヤー7スイッチとサーバー間でSYNパケットからのTCP接続を開始、そしてサーバーからHTTP応答が返った時点で、レイヤー7スイッチはクライアントにHTTP応答を返信する。
再検索