負荷分散の原則とアルゴリズムについての深い理解

1 はじめに

インターネットの初期の頃は、ネットワークがあまり発達しておらず、インターネット ユーザーも少なく、トラフィックも比較的少なく、システム アーキテクチャは主に単一のアーキテクチャに基づいていました。しかし、今日ではインターネットの発展により、トラフィック リクエストは数百億、さらには数千億に達する可能性があり、単一のサーバーやインスタンスでは需要を満たすことができなくなっているため、クラスターが存在します。高可用性を実現する場合でも、高パフォーマンスを実現する場合でも、サービス機能を拡張するには複数のマシンを使用する必要がありますが、ユーザーのリクエストがどのサーバーに接続されても、同じように処理できます。

一方で、サービス クラスターの構築とスケジュールの方法は、ユーザー側にとって十分に透過的である必要があり、たとえ 1,000 台または 1 万台のマシンが一斉に応答する要求の背後にあったとしても、ユーザーにとっては決して懸念事項ではありません。ユーザーはドメイン名アドレスを 1 つだけ覚えておく必要があります。統合インターフェースを備えた外部サービスを提供するために後方に複数のマシンをスケジュールすること、この責任を担う技術コンポーネントは ロード・バランシングと呼ばれます。

2. コンセプト

负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务或者网络请求)进行平衡,分摊到多个操作单元(服务器或者组件)上进行运行。目的是尽量将网络流量 平均 发送到多个服务器上,以保证整个业务系统的高可用。负载均衡构建在原有网络结构上,它提供了一种透明且廉价有效的方法,扩展服务器和网络设备的贷款、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。

写真

負荷分散

負荷分散には主に以下の機能があります。

  • 高い同時実行性: 特定のアルゴリズム戦略を採用することにより、トラフィックが可能な限り均等にサーバーに送信され、クラスターの同時処理能力が向上します。

  • スケーラビリティ: ネットワーク トラフィックのサイズに応じて、負荷分散デバイスによって制御されるバックエンド サーバー インスタンスを増減し、クラスターをスケーラブルにします。

  • 高可用性: ロード バランサーは、アルゴリズムまたはその他のパフォーマンス データを通じて候補インスタンスを監視します。インスタンスの負荷が高すぎるか異常な場合、トラフィック リクエストを減らすか、インスタンスを直接スキップし、リクエストを他の利用可能なインスタンスに送信します。非常に効率的で利用可能な機能。

  • セキュリティ保護: 一部のロード バランサーはセキュリティ保護を提供します。例: ブラック/ホワイト リスト処理、ファイアウォールなど。

3. 分類

3.1 地理的範囲による分類

負荷分散は、アプリケーションの地理的構造に応じて、ローカル負荷分散(Local Load Balance) とグローバル負荷分散(Global Load Balance、地域負荷分散とも呼ばれます)に分類されます。

3.1.1 ローカル負荷分散

本地负载均衡是指对本地的服务器群做负载均衡。

ローカル ロード バランシングは、ローカル エリア内のサーバー グループのロード バランシングに使用されます。ローカル ロード バランシングでは、高性能サーバーを購入するために多額の資金を費やす必要はありません。既存の設備リソースを使用するだけで、データの損失を効果的に回避できます。サーバーの単一点障害によって引き起こされるトラフィック 通常、過剰なデータ フローと重いネットワーク負荷の問題を解決するために使用されます。同時に、データ トラフィックを合理的かつバランスのとれた方法で各サーバーに分散するためのさまざまなバランシング戦略を備えています。現在のサーバーをアップグレードして拡張する必要がある場合、既存のネットワーク構造を変更したり、既存のサービスを停止したりする必要はなく、新しいサーバーをサービス グループに追加するだけで済みます。

3.1.2 グローバル負荷分散

全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。

グローバル負荷分散は主に、グローバル ユーザーがドメイン名または IP アドレスだけで最も近いサーバーにアクセスし、最速のアクセス速度を得ることができるという問題を解決します。複数のリージョンに独自のサーバー サイトを持ち、それらの子会社にも適用できます。広範囲に分散したサイトを持つ大企業は、リソースを均一かつ合理的に割り当てるという目的を達成するためにイントラネットを使用します。グローバル負荷分散には次の特徴があります。

  • サーバーの応答速度を向上させ、ネットワークの混雑の問題を解決し、高品質のネットワークアクセス効果を実現します。
  • ユーザーに長距離から完全に透過的なサービスを提供し、地理的位置から完全に独立することができます。
  • データセンターやサーバーなどの単一点障害や専用線障害による単一点障害など、さまざまな単一点障害を回避できます。

コンテンツ配信ネットワーク CDN (コンテンツ配信ネットワーク) は、グローバル負荷分散を使用します。写真を CDN サーバーに保存し、CDN のサーバーが北京と杭州に配置されているとします。それで:

  • 天津のユーザーが写真をダウンロードすると、トラフィック リクエストは自動的に北京の CDN サーバーに転送されます。

  • 江蘇省のユーザーが写真をダウンロードすると、トラフィック リクエストは杭州のサーバーに転送されます。

3.2 キャリアの種類による分類

ロード バランシングをサポートする通信事業者の観点から見ると、ロード バランシングは、ハードウェア ロード バランシングソフトウェア ロード バランシングの2 つのカテゴリに分類できます。

3.2.1 ハードウェア負荷分散

ハードウェア負荷分散ソリューションは、サーバーと外部ネットワークの間に負荷分散デバイスを直接インストールすることです。この種のデバイスは通常、 ロード バランサ と呼ばれます。特別なデバイスは特別なタスクを完了し、オペレーティング システムから独立しているため、全体的な負荷分散デバイスは、パフォーマンスが大幅に向上し、多様なロード バランシング戦略とインテリジェントなトラフィック管理と組み合わせることで、最適なロード バランシング要件を達成できます。

この種の装置は高性能で強力な機能を持っていますが、価格が非常に高価であるため、一般にこの種の装置を使用するのは裕福な企業だけであり、中小企業には一般に手が届かず、取引量もそれほど大きくありません。これらの機器を使用することも無駄です。

現在、業界をリードするハードウェア ロード バランサーは、F5 と A10 の 2 つです。

おすすめ

転載: blog.csdn.net/my8688/article/details/132043959