LinuCレベル3 プラットフォームスペシャリスト 高可用性プラットフォームの構築 問2
高可用性プラットフォームの構築/ロードバランサーの構築HAProxyの負荷分散アルゴリズムであるroundrobinとleastconnの違いに関する説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「高可用性プラットフォームの構築」に対応。実際の試験問題ではありません)
- Aroundrobinは接続数に応じて動的に宛先を変え、leastconnは重みを無視して常に順番に振り分ける
- Bleastconnは接続数が最も多いサーバーへ優先して振り分け、処理能力の高いサーバーを活用する
- Croundrobinは各サーバーへ順番に、leastconnは現在の接続数が最も少ないサーバーへ振り分ける
- Dどちらも接続の継続時間を見て振り分けるアルゴリズムで、違いは判定を行う間隔だけである
正解:C
解説
HAProxyのroundrobinアルゴリズムは、各バックエンドサーバーへ順番にリクエストを振り分けます。leastconnアルゴリズムは、その時点で保持している接続数が最も少ないサーバーへ優先的にリクエストを振り分けます。長時間接続が持続するアプリケーションでは、leastconnの方が負荷の偏りを抑えやすいとされます。
選択肢ごとの解説
- A誤り。接続数を見るのがleastconn、順番に振り分けるのがroundrobinであり、説明が逆になっています。
- B誤り。leastconnが優先するのは接続数が最も「少ない」サーバーです。
- C正しい。roundrobinは順番に、leastconnは接続数が最も少ないサーバーへ振り分けるアルゴリズムです。
- D誤り。どちらも接続の継続時間を基準にするアルゴリズムではありません。