高性能 HTTP サーバーの負荷分散アルゴリズムは何ですか?ほとんどのプログラマーは収集しています...

高性能 HTTP サーバーの負荷分散アルゴリズムは何ですか?ほとんどのプログラマーは収集しています...

典型的な高同時実行性、大規模ユーザー Web インターネット システムのアーキテクチャ設計では、HTTP クラスターの負荷分散設計は、高性能システム最適化リンクに不可欠なソリューションです。 HTTP 負荷分散の本質は、Web ユーザー トラフィックの負荷を分散して軽減することです。したがって、インターネット上のトラフィック量が多いプロジェクトでは、その重要性は明らかです。

一般的に使用されるバランス調整アルゴリズムは何ですか?

主なバランス調整アルゴリズムは次のとおりです。

1) 世論調査戦略

2) 負荷戦略

3) 対応戦略

4) ハッシュ戦略。

[[271838]]

1. 世論調査戦略

ポーリング戦略は、実は非常に簡単に理解できます。ユーザーからのリクエストが届くと、「ロード バランサー」が、そのリクエストをバックエンドのさまざまなビジネス サーバーに順番に転送します。この戦略は DNS ソリューションでよく使用されます。バックエンド サービスのステータスを気にする必要はありません。リクエストがある限り、リクエストは順番にバックエンドに転送されます。非常にシンプルで実用的です。

実際のアプリケーションでは、順次ポーリング、ランダムポーリング、重みによるポーリングなど、さまざまなポーリング方法があります。最初の 2 つは比較的理解しやすいです。3 つ目は重みによるポーリングで、各バックエンド サービスに重み値を設定することを意味します。たとえば、パフォーマンスの高いサーバーには高い重みが与えられ、パフォーマンスの低いサーバーには低い重みが与えられます。この設定により、トラフィックを割り当てるときに、重みの高いサーバーに多くのトラフィックが与えられ、バックエンド マシンのパフォーマンスを十分に発揮できるようになります。

2. ロード戦略

負荷戦略とは、「ロード バランサ」がトラフィックをバックエンドに転送するときに、まず各バックエンド サーバーの負荷圧力を評価することを意味します。負荷が大きいバックエンド サーバーには転送されるリクエストが少なくなり、負荷が小さいバックエンド サーバーには転送されるリクエストが多くなります。

この方法は、バックエンド サーバーの動作状態を完全に組み合わせてトラフィックを動的に割り当てるため、ポーリング方式よりも科学的です。

ただし、この方法には、バックエンド サーバーの負荷圧力を動的に評価する必要があるため、いくつかの欠点もあります。リクエストを転送するだけでなく、この「ロード バランサー」は、接続数、リクエスト数、CPU 負荷指標、IO 負荷指標などを収集するなど、多くの追加作業を行う必要があります。これらの指標を計算して比較することで、どのバックエンド サーバーの負荷圧力が大きいかを判断できます。

したがって、このアプローチはパフォーマンス上の利点をもたらしますが、「ロードバランサ」の実装の難しさとメンテナンスコストも増加します。

3. 対応戦略

応答戦略とは、ユーザーからのリクエストが届いたときに、「ロード バランサー」が、現時点で最も速く応答するバックエンド サーバーにリクエストを優先的に転送することを意味します。

つまり、バックエンド サーバーの負荷がどれだけ高くても、また、バックエンド サーバーがどのように構成されていても、現時点でこのサーバーがユーザーのリクエストに最も速く応答できると判断されれば、リクエストは最初にこのサーバーに転送されます。このようにして、ユーザー エクスペリエンスは最高になります。

では、「ロード バランサー」は、現時点でどのバックエンド サービスが最適な応答能力を持っているかをどのように知るのでしょうか?

これには、「ロード バランサ」が各バックエンド サーバのリクエストの処理速度を、たとえば 1 分ごとに継続的にカウントして、バックエンド サーバの処理速度のランキング リストを生成することが必要です。 「ロード バランサー」は、このランキング リストに基づいてサービスを転送します。

ここで問題となるのは、統計のコストです。これらの統計計算を継続的に実行すると、パフォーマンスが消費され、「ロード バランサー」の実装の難しさとメンテナンス コストが増加します。

4. ハッシュ戦略

ハッシュ戦略も比較的理解しやすいものです。リクエスト内の特定の情報に対してハッシュ計算を実行し、バックエンド サーバーの数に基づいて係数を取って値を取得します。同じ値を持つリクエストは同じバックエンド サーバーに転送されます。

一般的な使用法は、この戦略をユーザーの IP または ID に実装することです。その後、「ロード バランサー」によって、同じ IP ソースまたは同じユーザーが常に同じバックエンド サーバーに送信されるようになります。これは通常、キャッシュ、セッション、およびその他の機能を処理するために使用されます。

<<:  企業向けの優れたビジネス インテリジェンス ツール 10 選

>>:  潜在意識を使うとAIと何ら変わりません

ブログ    

推薦する

...

クラウド AI とエッジ AI: 2022 年にはどちらがより良い選択でしょうか?

エッジ AI とクラウド AI は、現在企業が使用している最も重要なテクノロジーの一部であることがわ...

科学サブ出版物:人間の脳は加速学習メカニズムを備えており、その計算能力は最新のAIアルゴリズムを上回っている

[[323595]]機械学習とディープラーニングのアルゴリズムは、脳内のニューロンを結びつけるシナプ...

...

AIは生成的敵対ネットワークを使用して、笑顔、悲しみ、怒り、驚きなどの個別の顔の属性を生成します。

人工知能は、生成的敵対的ネットワークを使用して、笑顔、悲しみ、怒り、驚きなどの個別の顔の属性を生成し...

データセキュリティの向上と人工知能の信頼性の向上

JD Discovery Research InstituteのTao Dacheng所長はかつて、...

人工知能は大腸がんを診断できる:精度は86%にも達する

AIは心臓病の予測やアルツハイマー病の検出など、医療分野で幅広い応用が期待されています。新たな研究に...

...

XiaomiのFALSRアルゴリズムが正式にオープンソース化され、画像超解像エンジニアリングアプリケーションに大きな進歩をもたらしました。

本日、Xiaomi は、弾性探索 (マクロ + ミクロ) に基づく超解像で驚くべき結果を達成した新し...

NVIDIA、端末デバイスへのディープラーニングの導入を加速する高性能Jetson TX2を発表

人工知能と機械学習はユーザーからますます注目を集めており、AIの応用は徐々に世間の注目を集め始めてい...

Python の高度なアルゴリズムとデータ構造: treap を使用してデュアル インデックスを実装する (パート 1)

\上記で紹介したヒープ構造では、データを部分的にしかソートできません。つまり、一部の要素のソートし...

ポストパンデミック時代に成功するためのコードを習得するには? AIと自動化にも依存している

COVID-19パンデミック以前は、経営幹部は、ビジネス運営の最適化、収益性の向上、イノベーションの...

ハーバード史上最短の在職期間! 53歳の女性校長、博士論文の盗作疑惑で辞職

ハーバード大学の第30代学長が正式に辞任を発表しました! 53歳のクローディン・ゲイ氏は昨年7月に就...

この AI はわずか 20 分で複雑な芸術作品を作成できます。 1080グラフィックカードが実行可能

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

自動運転車が急カーブを曲がるときに車線を検知する3つの技術

自動運転車は、車線を正確に検出するために、さまざまな色や照明条件下で車線を認識する必要があります。車...