テクノロジ系
負荷分散の仕組み — ロードバランサとスケールアウト
導入
人気サービスのセール開始直後に「つながらない」経験はないでしょうか。その対策として企業が使うのがロードバランサです。大量のアクセスをうまく分散させる仕組みを確認していきます。
くわしく知ろう
ロードバランサ(負荷分散装置)とは、クライアントからのリクエストを複数のサーバーに振り分け、特定のサーバーへの負荷集中を防ぐ機能を指します。1台のサーバーに全リクエストが集中するとパフォーマンスが低下しますが、ロードバランサが間に入ることで均等に処理を分担できます。
振り分けアルゴリズムとして最も基本的なのがラウンドロビンで、リクエストを順番に各サーバーへ均等に割り当てる方式です。設定がシンプルなため広く採用されています。一方、スティッキーセッションとは、同一ユーザーのリクエストを毎回同じサーバーに転送し続ける仕組みを指します。ログイン情報などセッション状態をサーバー側に保持するアプリケーションで必要になります。
処理能力を増やす方法には2種類あります。スケールアップはサーバー1台のCPUやメモリを強化する垂直方向の増強です。一方、スケールアウトはサーバーの台数を増やす水平方向の増強で、ロードバランサと組み合わせることで柔軟に拡張できます。クラウド環境ではアクセス増減に合わせて自動的にサーバー台数を増減させるオートスケールもよく利用されています。
具体例
たとえばECサイトのセールでアクセスが急増した場合、ロードバランサが3台のサーバーに均等にリクエストを振り分けることで、1台あたりの負荷を3分の1に抑えられます。スケールアウトでサーバーを追加すればさらに余裕をもって対応できます。
まとめ・試験ポイント
- ロードバランサ=複数サーバーへのリクエスト振り分けで負荷を分散
- ラウンドロビン=リクエストを順番に均等配分する基本アルゴリズム
- スティッキーセッション=同一ユーザーを同じサーバーに固定する仕組み
- スケールアウト=サーバー台数を増やす水平拡張
- スケールアップ=サーバー1台の性能を高める垂直拡張
- 試験ではスケールアウトとスケールアップの違い、ラウンドロビンの説明が頻出
学習した内容を試験形式で確認しよう。ITパスポート入門試験100問に挑戦できます。
入門試験100問に挑戦する