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

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

これら 5 つのオープンソース ソフトウェアを使用すると、音声からテキストへの変換が簡単になります。

音声テキスト変換(STT)システムは、話した言葉をテキストに変換できる方法です。私たちがよく使うWe...

ディープラーニングがロボットの変形可能な物体の取り扱いにどのように役立つか

翻訳者 | 李睿校正:孫淑娟人間にとって、変形可能な物体を処理することは、硬い物体を処理することより...

ロボットは銀行業務を破壊するのか?

[[223220]]世界経済フォーラムの最近のレポートでは、2020年までに先進国で500万の雇用...

...

実用的なCNN畳み込みニューラルネットワークは、99.5%の精度で検証コードを認識します

1. 背景2年間運営してきた個人プロジェクトですが、最近対象サイトがスキャンコードログインに変更にな...

...

...

...

...

...

医療業界における人工知能の5つの主要な応用シナリオと典型的な事例

近年、スマートヘルスケアの開発は国内外で人気を集めています。 「セキュリティやスマート投資アドバイザ...

2021年の人工知能トレンドに関する5つの予測

[[381013]]人工知能は人々の生活を変える可能性を秘めた分野です。ヘルスケア、ビジネス、金融、...

調達における AI の夜明け: 効率性と洞察力の新時代

McKinsey & Company の画期的なレポートでは、AI を含むデジタル調達ソリュ...