TERM 022
Load Balancer
一つの入口から、複数の処理先へ振り分ける
Load Balancerは、利用者からの通信を受け取り、正常な複数のサーバーやコンテナへ分散する仕組みです。処理能力の拡張と、障害時にも利用を続ける可用性を支えます。
リクエストを複数の処理先へ振り分ける仕組みの全体像。
CONTENTSこの記事の目次+
QUICK OVERVIEW
30秒でつかむ
正常性の確認
応答できない処理先を自動的に振分対象から外します。
振分方法
順番、接続数、重みなどワークロードに合う規則を選びます。
接続の継続性
必要な場合だけ同じ利用者を同じ処理先へ寄せます。
01 — DEFINITION
Load Balancerとは
何か
Load Balancerは、利用者からの通信を受け取り、正常な複数のサーバーやコンテナへ分散する仕組みです。処理能力の拡張と、障害時にも利用を続ける可用性を支えます。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
一つの入口で受信
利用者は背後の台数を意識せず接続する。
→正常な処理先を選ぶ
ヘルスチェックと振分規則から接続先を決める。
→通信を中継
選んだ処理先へ要求を渡し、結果を利用者へ返す。
Load Balancerを理解するときの、最小の処理単位です。
03 — ESSENTIALS
押さえるべき
3つの要点
名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。
正常性の確認
応答できない処理先を自動的に振分対象から外します。
振分方法
順番、接続数、重みなどワークロードに合う規則を選びます。
接続の継続性
必要な場合だけ同じ利用者を同じ処理先へ寄せます。
04 — REAL WORLD EXAMPLE
アクセス増加に合わせてAPIを増やす
1台のAPIではピーク時の要求を処理しきれません。
- 01
同じAPIを複数台起動する
- 02
ヘルスチェック成功先だけへ分散する
- 03
負荷に応じて台数を増減する
05 — WATCH OUT
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
単一障害点にしない
Load Balancer自体も冗長化されたマネージド構成などを選びます。
アプリの状態を外へ出す
特定サーバーのメモリへ状態を固定すると、自由な振り分けが難しくなります。
IN ONE SENTENCE
Load Balancerとは?
リクエストを複数の処理先へ振り分ける仕組み。
