高性能 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と何ら変わりません

ブログ    
ブログ    
ブログ    

推薦する

決済の未来は生体認証にかかっている

現在、生体認証技術は比較的成熟しており、さまざまな応用シナリオがあります。国内の生体認証市場全体は、...

...

...

...

...

テクノロジーが建設業界に及ぼす8つの影響

人工知能 (AI): ChatGPT などのツールの最近の登場により、AI はビルダーの間で注目を集...

CTR は成功と失敗の鍵です。なぜクリックスルー率はアルゴリズム エンジニアにとって悪夢となっているのでしょうか?

[[409064]]みなさんこんにちは。私は梁唐です。今日は、検索、広告、推奨アルゴリズムにおける...

AGI(汎用人工知能)は数年のうちに実現されるでしょうか? 3つのテクノロジー大手が判決を下す

2011年、Google DeepMindの共同創設者であるシェーン・レッグは、2028年までにAI...

二重の流行が迫る中、機械学習アルゴリズムは新型コロナウイルスの迅速な検出にどのように役立つのでしょうか?

[51CTO.comよりオリジナル記事]秋から冬にかけての季節が近づき、インフルエンザやCOVID...

このロボットは食べられますか?科学者は副作用なく食べても安全だと言っている

ロボットを食べるというのはあまり魅力的に聞こえないかもしれないが、近い将来、食べられる機械があなたの...

地球全体をシミュレート: Nvidia の Earth-2 スーパーコンピューターが間もなくオンラインになります

「未来を今日どのように実現するか。その答えはシミュレーションだ」と、NVIDIAの創業者兼CEOのジ...

マッキンゼーは、2030年までに1億人の中国人が転職に直面し、世界中で8億人がロボットに置き換えられると予測している。

最近、マッキンゼー・グローバル研究所は水曜日に発表した報告書の中で、技術の進歩により、将来世界で約3...

...

機械学習に必要な確率論の基礎

この記事を読んでいただければ、確率の基本原理を機械学習に応用できる可能性が 100% あります。機械...

データマイニングの分野でトップ 10 の古典的なアルゴリズムの 1 つ - K-Means アルゴリズム (コード付きで非常に詳細)

k-means アルゴリズムは比較的単純です。 k-means アルゴリズムでは、クラスターはクラ...