操作して学ぶ
ロードバランシング可視化
1つのリクエストを、どのサーバーに振り分けるか。その分散方式(負荷分散アルゴリズム)を6つ切り替えて動かせます。 自動送信で負荷を流すと、各サーバーの接続数と累計配分がリアルタイムに動き、 どの方式がどれだけ均等に散らせるかが一目で分かります。
バックエンドを順番に1つずつ割り当てる。実装が単純で均等。ただし各サーバーの実際の負荷や処理時間は見ない。
web-1
0接続中
0累計 0%
web-2
0接続中
0累計 0%
web-3
0接続中
0累計 0%
web-4
0接続中
0累計 0%
web-5
0接続中
0累計 0%
総リクエスト 0現在の接続数 0
直近のルーティング(新しいものが右)
送信するとここに割り当て先が流れます
どれを選ぶか
- ラウンドロビン / 重み付き:状態を持たず単純。サーバーの性能が揃っているならこれで十分。性能差があれば重み付き。
- 最少コネクション:リクエストの処理時間にばらつきがあるとき、実際の負荷に追従できる。長い接続が混じるワークロード向き。
- IPハッシュ:同じクライアントを同じサーバーに固定したいとき(セッション固着)。ただしクライアント分布が偏ると負荷も偏る。
- Power of Two Choices:ランダムに2台選んで空いている方へ。ほぼ状態を持たないのに最少コネクションに迫る均等さ。大規模分散で人気。