ロードバランサ
クライアントからの要求を複数のサーバへ振り分ける装置やソフトウェア。処理の集中を抑え、正常な処理先を選ぶためにヘルスチェックを行う構成がある。
イマシルちゃんの解説
お店にレジがいくつもあっても、みんなが一つに並ぶと混んでしまうね。
入口の係が、次のお客さんを空いているレジへ案内するんだ。
休止中のレジへ案内しないことも大切だよ。
続きの手続きなら、同じ担当者へ案内した方がよい場合もあるね。
この解説はわかりやすかったですか?
より深い解説
振分けに使う情報
接続の行き先は、ラウンドロビン、重み付け、接続数の少なさなどで決める。単純に順番に配る方法では、要求ごとの処理量の違いまで均等化できない。
稼働状態の確認
ヘルスチェックでは、TCP接続の成功やHTTP応答などを確認する。ポートが開いていても、データベースに接続できず業務が使えない場合があるため、確認対象を目的に合わせる。
故障を検出した処理先を新しい要求の対象から除外し、回復を確認して戻す。確認が頻繁すぎると負荷が増え、まれすぎると検知が遅れる。回数や間隔、判定条件を設計する。
続きの要求をどう扱うか
買い物かごなどの状態を一台だけで持つ場合、次の要求が別のサーバへ届くと状態を参照できない。このため同じ利用者を同じ処理先へ寄せるセッション維持を用いることがある。
他の機能との区別
TLSを終端してサーバの暗号処理を肩代わりする機能はTLSオフロードである。搭載されることはあるが、振分けそのものとは違う。リンクアグリゲーションが束ねるのは物理回線であり、複数サーバへの要求配分ではない。
DNSラウンドロビンでは名前解決の応答で行き先を分散する。キャッシュがあるため、レコードを変更しても接続先が直ちに切り替わるとは限らない。負荷分散装置自身が単一障害点にならない構成も検討する。