高性能 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による偽動画で顔認証を騙し、銀行口座開設が可能になる可能性

共同通信社のウェブサイトの最近の報道によると、日立製作所の研究チームが人工知能学会で論文を発表した。...

...

最新の NaViT モデルは最高です!あらゆるアスペクト比と解像度に対応する強力なトランスフォーマー

本日は、あらゆるアスペクト比と解像度で動作する Transformer モデルである NaViT を...

開発者の「第2の脳」が登場、GitHub Copilotがアップデートされ、人間の開発参加がさらに減少

Andrej Karpathy 氏が嘆くのは、ソフトウェア開発プロセスにおいてコードを直接記述するこ...

...

データによると、ChatGPTのトラフィックは8月末から増加し始めており、これは主に新学期の始まりによるものである。

9月21日、第三者機関の最新の推計によると、人工知能チャットボット「ChatGPT」のトラフィック...

...

...

役に立つ情報: GitHub で 26,000 個のスターを獲得!初心者のための Python アルゴリズム

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

GNN の推奨システムとアプリケーション

1. GNN推奨システムの基礎となる計算能力の進化過去 20 年間にわたり、コンピューティングは進化...

...

...

BI と AI が出会うとき、「最強の脳」がどのように意思決定を支援するのかを見てみましょう。

ビジネス インテリジェンス (BI) プラットフォームは常に進化しています。企業は、人工知能と機械学...

大きなモデルには堀がない? OpenAI の「LLM City」に侵入し、防御する方法

著者: ベン・ディクソン翻訳者 | 李睿レビュー | Chonglou制作:51CTO テクノロジー...