負荷分散のための一般的なアルゴリズムの紹介

王林
リリース: 2020-06-16 16:40:13
転載
3922 人が閲覧しました

負荷分散のための一般的なアルゴリズムの紹介

負荷分散に一般的に使用されるアルゴリズム:

1. ラウンドロビン

ポーリングは負荷分散です。シンプルなアルゴリズムなので、追加のパラメータを設定する必要はありません。構成ファイル内に M 台のサーバーがあると仮定すると、アルゴリズムはサーバー ノード リストを走査し、ノード順に各ラウンドで 1 台のサーバーを選択してリクエストを処理します。すべてのノードが一度呼び出されると、アルゴリズムは最初のノードから再度探索します。

特徴:

このアルゴリズムの各リクエストは、時系列順に 1 つずつ異なるサーバーに割り当てられて処理されるため、各サーバーが実行するサーバーのパフォーマンスが同等のクラスター状況に適しています。同じ負荷です。ただし、サーバーのパフォーマンスが異なるクラスターの場合、このアルゴリズムでは不当なリソース割り当てなどの問題が発生しやすくなります。

2. 加重ポーリング

通常のポーリングによるデメリットを回避するために、加重ポーリングが登場しました。加重ポーリングでは、各サーバーに独自の加重値が設定されます。一般に、重みの値が大きいほどサーバーのパフォーマンスが向上し、より多くのリクエストを処理できるようになります。このアルゴリズムでは、クライアントのリクエストはその重みに比例して割り当てられ、リクエストが到着すると、最も大きな重みを持つサーバーが最初に割り当てられます。

機能:

加重ポーリングをサーバーのパフォーマンスが異なるクラスターに適用して、リソースの割り当てをより合理的にすることができます。

中心となるアイデアは、各サーバー ノードを走査してノードの重みを計算することです。計算ルールは、current_weight とそれに対応するEffective_weight の合計です。走査の各ラウンドで、最大の重みを持つノードがノードとして選択されます。最適なサーバーノード。このうち、Effective_weight はアルゴリズム実行時のリソース状況やレスポンス状況によって変化します。

3. IP ハッシュ (IP ハッシュ)

ip_hash は、リクエストを行ったクライアント IP のハッシュ値に基づいてサーバーを割り当てます。このアルゴリズムにより、すべてのリクエストが確実に実行されます。同じ IP から送信されたリクエストは同じサーバーにマッピングされるか、同じハッシュ値を持つ異なる IP が同じサーバーにマッピングされます。

特徴:

このアルゴリズムは、クラスター展開環境でセッションが共有されない問題をある程度解決します。

推奨チュートリアル: nginx チュートリアル

以上が負荷分散のための一般的なアルゴリズムの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.im
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート