今回は負荷分散アルゴリズムについて説明します。
負荷分散を行うロードバランサーはそれぞれ負荷分散アルゴリズムを持っています。
その中で主要なアルゴリズムを紹介します。
1. ラウンドロビン
ラウンドロビンは最もシンプルなアルゴリズムといえます。クライアントからのリクエストを順番に準備しておいたサーバに振り分けるというものです。
このアルゴリズムに適しているのはサーバのスペックが同等で、提供するWebページが静的なページの場合になります。
2. 最小コネクション
最小コネクション方式はサーバの中から現在最もクライアントとのコネクション数が少ないところに振り分ける方式となります。Webアプリシステムを構築する場合、あるリクエストはHPアクセスであり、片やwebアプリプログラムを処理することとなり1リクエストで処理時間に大きな差が出てきます。
そのため、webアプリなどを処理している間はコネクションが張りっぱなしになるため、コネクションが多い=負荷がかかっていると判断でき、逆にコネクション数が少ないサーバにリクエストを振り分けるというわけです。
このアルゴリズムに適しているのはやはりwebアプリシステムといえます。
3. 最速レスポンス
最速レスポンス方式とは、サーバの中から最もリクエストのレスポンスが早かったところを選択する方式となります。レスポンス速度は負荷状況やトラフィック状況に左右されるため、最もレスポンスが早いサーバは負荷、トラフィックともに余裕があるといえます。
このアルゴリズムが適しているのはやはりwebアプリシステムとなりますが、特にレスポンスタイムが重要となる携帯アプリ、ソーシャルアプリコンテンツを運営するシステムに適しているといえます。