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 アドレスをハッシュ キーとして使用し、静的に割り当てられたハッシュ テーブルから対応するサーバーを検索します。サーバーが使用可能で過負荷でない場合は、要求がサーバーに送信され、そうでない場合は何も返されません。

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

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

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

ブログ    
ブログ    

推薦する

2020 年以降のソフトウェア開発のトレンド

今後8年間の8つの重要なトレンドを予測[[322666]] UnsplashのHarpal Sing...

中国気象局:2030年までに、人工知能気象アプリケーションの開発レベルは世界最高レベルに達する

中国気象局は7月29日、「人工知能気象応用作業計画(2023-2030年)」を発表し、国内の人工知能...

AI に役立つ 7 つの優れたオープンソース ツール

ビジネスニーズを予測するには、AI を活用し、研究開発を新たなレベルに引き上げる必要があります。この...

Alibaba iDSTのビジュアルコンピューティング責任者、Hua Xiansheng氏:アルゴリズムの利点は消えつつある

「テクノロジー研究と現実世界の問題を組み合わせ、現実の問題を解決して価値を生み出すことにますます興味...

OpenAIの取締役会が数秒で後悔!ウルトラマン、CEOに復帰要請

たった1日で、OpenAIの取締役会は劇的に変化しました。最新のニュースによると、ウルトラマンがCE...

企業、不動産会社、自動車会社が顔情報を収集する方法を弁護士が解説:消費者は法律に従って権利を断固として守るべき

[[388553]] 3月18日夜、企業やメーカーが個人情報を不法に収集し、商業目的で利用する事件が...

自然言語処理技術はビジネス分野でどのようなアプリケーションをサポートできますか?

[[224853]] [51CTO.com クイック翻訳] 人工知能と機械学習技術は、多くの分野で...

...

...

自動運転車の分野での課題は何ですか?

テスラが2015年に量産を開始して以来、わずか5、6年で自動運転(インテリジェントアシスト運転とも呼...

...

2020年に注目すべき7つのAIトレンド

人工知能は将来人類に大きな可能性をもたらすでしょうが、もちろんいくつかの面では人類にリスクをもたらす...

OpenCV を使用した画像の二値化とグレースケール変換

関連概念バイナリ画像とは、2 つの色 (通常は黒と白) のみを含む画像です。バイナリ画像では、各ピク...