操作して学ぶ

ロードバランシング可視化

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台選んで空いている方へ。ほぼ状態を持たないのに最少コネクションに迫る均等さ。大規模分散で人気。