LVS セットアップノート: 負荷分散アルゴリズム

LVS セットアップノート: 負荷分散アルゴリズム

先ほど、負荷分散を完了するための最初のステップである Linux LVS インストール プロセスを紹介しました。具体的な負荷分散設定を紹介する前に、まず負荷分散アルゴリズムとは何かを理解しましょう。これは主に LVS がサポートするアルゴリズムに依存します。3 つのリクエスト転送方法については既に説明したので、ここでは詳細には触れません。アルゴリズムの具体的な内容を見てみましょう。

負荷分散のための8つのスケジューリングアルゴリズム

次のステップは、実際のニーズに応じて負荷分散方法とスケジューリング アルゴリズムを選択することです。現在、LVS には 3 つの主要な要求転送方法と 8 つのスケジューリング アルゴリズムがあります。要求転送方法に応じて、構築されたクラスターのネットワーク トポロジ、インストール方法、パフォーマンスも異なります。LVS は、LVS/NAT、LVS/TUN、LVS/DR の 3 種類のクラスターを構築するために使用できます。ニーズに応じて 1 つを選択できます。転送方法を選択すると、使用されるスケジューリング アルゴリズムによって、負荷分散全体のパフォーマンスが決まります。さまざまなアルゴリズムがさまざまなアプリケーション シナリオに適しています。特別な場合のためにスケジューリング アルゴリズムを設計する必要がある場合もあります。LVS のアルゴリズムは徐々に充実しています。当初、LVS は 4 つのスケジューリング アルゴリズムのみを提供していましたが、後に次の 8 つに開発されました。

負荷分散アルゴリズム 1. ラウンドロビン

スケジューラは、「ラウンドロビン」スケジューリング アルゴリズムを使用して、外部要求をクラスタ内の実サーバーに順番に分散します。実際の接続数やサーバー上のシステム負荷に関係なく、各サーバーを平等に扱います。

負荷分散アルゴリズム 2. 加重ラウンドロビン

スケジューラは、「加重ラウンドロビン」スケジューリング アルゴリズムを使用して、実サーバーのさまざまな処理能力に基づいてアクセス要求をスケジュールします。これにより、強力な処理能力を持つサーバーがより多くのアクセス トラフィックを処理できるようになります。スケジューラは、実サーバーの負荷状態を自動的に照会し、重みを動的に調整できます。

負荷分散アルゴリズム 3. 最小接続

スケジューラは、「最小接続」スケジューリング アルゴリズムを使用して、確立されたリンクの数が最も少ないサーバーにネットワーク要求を動的にスケジュールします。クラスタ システムの実際のサーバーのシステム パフォーマンスが類似している場合、「最小接続」スケジューリング アルゴリズムによって負荷のバランスをより適切に取ることができます。

負荷分散アルゴリズム 4. 重み付け最小接続

クラスタ システム内のサーバーのパフォーマンスが大きく異なる場合、スケジューラは「重み付け最小リンク」スケジューリング アルゴリズムを使用して、負荷分散パフォーマンスを最適化します。重みが高いサーバーは、アクティブな接続負荷の大部分を負担します。スケジューラは、実際のサーバーの負荷を自動的に照会し、重みを動的に調整できます。

負荷分散アルゴリズム 5. 局所性に基づく最小接続

「ローカリティベースの最小リンク」スケジューリング アルゴリズムは、ターゲット IP アドレスの負荷分散アルゴリズムであり、現在は主にキャッシュ クラスタ システムで使用されています。このアルゴリズムは、要求されたターゲット IP アドレスに基づいて、ターゲット IP アドレスによって最後に使用されたサーバーを検索します。サーバーが使用可能で過負荷でない場合は、要求がそのサーバーに送信されます。サーバーが存在しない場合、またはサーバーが過負荷で、ワークロードが半分のサーバーがある場合は、「最小リンク」原則を使用して使用可能なサーバーが選択され、要求がサーバーに送信されます。

負荷分散アルゴリズム 6. レプリケーションによる局所性ベースの最小接続

「ローカリティベースの最小リンクとレプリケーション」スケジューリング アルゴリズムもターゲット IP アドレスの負荷分散アルゴリズムであり、現在は主にキャッシュ クラスタ システムで使用されています。LBLC アルゴリズムとの違いは、LBLC アルゴリズムがターゲット IP アドレスからサーバ グループへのマッピングを維持するのに対し、LBLC アルゴリズムはターゲット IP アドレスからサーバへのマッピングを維持することです。このアルゴリズムは、要求のターゲット IP アドレスに基づいてターゲット IP アドレスに対応するサーバ グループを見つけ、「最小接続」の原則に従ってサーバ グループからサーバを選択し、サーバが過負荷でない場合は要求をサーバに送信します。サーバが過負荷の場合は、「最小接続」の原則に従ってクラスタからサーバを選択し、サーバ グループに追加して要求をサーバに送信します。同時に、サーバ グループが一定期間変更されていない場合は、最もビジーなサーバをサーバ グループから削除して、レプリケーションの度合いを減らします。

負荷分散アルゴリズム 7. 宛先ハッシュ

「ターゲット アドレス ハッシュ」スケジューリング アルゴリズムは、要求のターゲット IP アドレスをハッシュ キーとして使用し、静的に割り当てられたハッシュ テーブルから対応するサーバーを検索します。サーバーが使用可能で過負荷でない場合は、要求がサーバーに送信され、そうでない場合は何も返されません。

負荷分散アルゴリズム 8. ソースハッシュ

「ソース アドレス ハッシュ」スケジューリング アルゴリズムは、要求のソース IP アドレスをハッシュ キーとして使用し、静的に割り当てられたハッシュ テーブルから対応するサーバーを検索します。サーバーが使用可能で過負荷でない場合は、要求がサーバーに送信され、そうでない場合は何も返されません。

これらのアルゴリズムの原理を理解することで、特定のアプリケーションに最適なスケジューリング アルゴリズムを選択し、リアル サーバーを最大限に活用できるようになります。もちろん、独自のアルゴリズムを開発することもできますが、これはこの記事の範囲外です。アルゴリズムの原理に関する関連情報を参照してください。

<<:  データベース列ストレージ: 最適な圧縮アルゴリズムを設計するための近道

>>:  ロードバランサーのアルゴリズムと原理を探る

ブログ    
ブログ    

推薦する

人工知能チップの過去、現在、そして未来

AIは現在ニュースでよく取り上げられています。現在、AIは医療診断、新しい化学物質の合成、群衆の中に...

AIが人事と採用を変える3つの方法

[[407974]]人工知能はこれまで以上にビジネスにおいて重要な役割を果たしています。プロフェッシ...

2021年に機械学習を学ぶには?この詳細なガイドがあなたをカバーします!

「すべての人にAI」の時代を迎え、多くの人が機械学習(ML)に何らかの形で触れるようになりました。...

テレンス・タオが AI を使って形式化した証明とは、いったい何でしょうか? PFR予想の歴史の簡単な紹介

12月5日、有名な数学者でフィールズ賞受賞者のテレンス・タオ氏は、ソーシャルネットワーク上で、多項式...

AIとIoTの相互運用性に対する需要は2021年も増加し続ける

[[390687]]画像ソース: https://pixabay.com/images/id-440...

WOT2019 検索推奨アルゴリズムフォーラム: さまざまな分野における AI ベースの検索推奨の実用化

6月21日、WOT2019グローバルテクノロジーサミットとグローバル人工知能テクノロジーサミットが北...

サービスロボット市場の最前線に立つセキュリティは注目に値する

現在、サービスロボットは中国のロボットが他のロボットを追い抜く重要なチャンスとみなされており、あらゆ...

...

...

C# 暗号化アルゴリズムの簡単な紹介

C# 暗号化アルゴリズムMD5 は Message-Digest Algorithm 5 の略で、1...

...

...

...