サーバ/インフラを支える技術 第1章 サーバ/インフラ構築入門 冗長化/負荷分散の基本 その3
1.2 「Webサーバを冗長化する」からです。
- DNS ラウンドロビン
- DNS に同じホスト名で複数の IP アドレスを返させる
- グローバルIPアドレスが複数必要
- 分散が均等になるとはかぎらない
- フェイルオーバーしにくい
- Web サーバで障害時に VIP の開放処理が必要
- IPVS でロードバランサ
- 1つの IP アドレスに対するリクエストを複数のサーバに分散させる
- ロードバランサはグローバルIPアドレスを持つ仮想サーバとして動作して実際のサーバへリクエストを中継する
- Webサーバへのヘルスチェックを行ないその結果を分散のしかたに反映する
- 専用の機器を導入するとコストが高い(導入コスト、運用コスト)が OSS で構築する方法もある
- Linux の IPVS
- L4スイッチ - アドレスとポート番号をもとに分散させる
- L7 スイッチという URL まで見る方法もあるが IPVS ではサポートされない
- スケジューリングアルゴリズム
- round robin, least-connection(接続数が少ないサーバに優先的に割り当てる)、shortest-expected-delay(応答速度が早いであろうサーバを割り合てる)などとそれぞれに重みづけが可能なアルゴリズムがある(性能の高いマシンに優先的に割り当てるため)
今日はここまで。続きは IPVS を使って実際に冗長構成を組む実例みたいです。