一般的な負荷分散と高可用性テクノロジ

著作権:オリジナルの作品は、ソースを明記してください掲載しました!https://blog.csdn.net/sa19861211/article/details/90441633

ディレクトリ

まず、負荷分散技術

各負荷分散技術の比較

1.ハードウェア負荷分散

2.ソフトウェアは、分散のために責任があります

3. DNS負荷分散

ロードバランシング戦略:

LVSロードバランシング戦略

HAProxyロード・バランシング戦略

nginxの負荷分散戦略

第二に、高可用性技術

第三に、成熟した、Linuxの負荷分散と高可用性アーキテクチャ

DBRD三つのコピー合意


まず、負荷分散技術

各負荷分散技術を比較します。

1.ハードウェア負荷分散:

  • F5 BIG-IP(推奨)
  • CitrixのNetScalerの

2.ソフトウェアは、分散のために責任があります:

テクノロジー 仮想サーバーの実装 該当シーン
LVS NAT仮想サーバー(VS / NAT)により、 第4層のロードバランシングは、実サーバの数が20を超えることはできません。
IPトンネルを介して仮想サーバー(VS / TUN) 第4層の負荷分散負荷。スケジューリング要求と直接戻って顧客への応答のための唯一の責任スケジューラ。
直接的な経路を介して仮想サーバー(VS / DR) 第二層の負荷分散。ディスパッチャとサーバは、ローカルエリアネットワークを介して接続されている物理ネットワークアダプタを持っている必要があります。
HAProxy N / A  負荷分散に第四及び第七階をサポートしています。
nginxの N / A   負荷分散に第四及び第七階をサポートしています。

3. DNS負荷分散:

  • DNSのポーリング

ロードバランシング戦略:

LVS ロードバランシング戦略:

ロードバランシング戦略 ポリシー説明 該当シーン
簡単なアンケート 外部クラスタ内の実サーバに割り当てられた順番で連続的に要求します。 同じサーバーのパフォーマンス
WRR 単純なポーリングに基づいて、スケジューリング要求のアクセスに割り当てられた重みに応じました。 異なるサーバーのパフォーマンス
最小接続 動的ディスパッチネットワークが確立された接続の最小数にサーバーを要求します。 異なるサーバーのパフォーマンス
加重最小接続 サーバー負荷の大部分を負担する高い重量値を持つ、最小接続アルゴリズムに基づいて、接続された活動であります 全く異なるサーバーのパフォーマンス
産地ベース最低-接続 サーバーが存在しない場合、またはサーバは、サーバ過負荷状態と半分されている場合は、サーバーが使用可能で、オーバーロードされていない場合は、最近使用のIPアドレスを識別するために、ターゲット・サーバー要求の宛先IPアドレスは、要求がサーバーに送信されますワークロード、「最小接続」の原則により選出されました。 キャッシュ・クラスタ・システムは、主に使用されます
少なくとも産地ベースバンド複製接続 サーバが過負荷にされていない場合、サーバ要求のターゲットIPアドレスが、対象グループのIPアドレスを対応する特定のサーバーグループからのサーバーによって選出された「最小接続」を押して、サーバーに要求を送信し、サーバが過負荷になっている場合には、このクラスタ内のサービスステーションから選ばれた「最小接続」の原則を押して、サーバグループがサーバーに追加され、サーバーに要求を送信します。 キャッシュ・クラスタ・システムは、主に使用されます
宛先アドレスのハッシュ サーバが別の空、サーバに要求を送信し、過負荷状態と使用できない場合は、ハッシュキー(ハッシュキー)として要求先のIPアドレスは、ハッシュ静的割り当てのリストから該当するサーバーを検索します。  
送信元アドレスのハッシュ サーバが別の空、サーバに要求を送信し、過負荷状態と使用できない場合は、ハッシュキーとして要求元のIPアドレスは、ハッシュ静的割り当てのリストから該当するサーバーを検索します。  

HAProxyロードバランシング戦略:

  • ラウンドロビン:簡単なアンケート    
  • 静的-RR:WRR    
  • ソース:同期の問題を解決するよう要求元IP、セッションに記載の方法。

nginxの負荷分散戦略:

  • 簡単なアンケート
  • WRR
  • ip_hash
  • url_hash

第二に、高可用性技術

実装技術 該当シーン ユースケース
keepalivedの フロントエンドのロードバランサは、一般的に、ロードバランサのフロントエンドの高可用性を確保するために、二重のプログラムを使用しています。  
ハートビート 本番環境では、ハートビート高可用性ファイルシステムはDRBDの行に適用されてもよいです MySQLの関係者は、高可用性MySQLを達成する手段として、それをお勧めします
DRBD 高可用性デバイスブロック。データがローカルファイルシステムに書き込まれるとき、データはまた、別のホストにネットワーク上で送信され、ファイルシステムの形でそれを記録します。ローカル(マスター)とリモートホスト(ノード装置)は、リアルタイムデータの同期を確保することができます。 DRBDは、公式のMySQLのマニュアルされていると推奨高可用性ソリューションの1つとして、文書を書いています

第三に、成熟した、Linuxの負荷分散と高可用性アーキテクチャ

  • LVS + keepalivedの    
  • HAProxy + keepalivedの    
  • nginxの+ keepalivedの    
  • DRBD +ビート    
  • DRBD +ビート+ NFS:可用性の高いファイルサーバーを構築します

DBRD三つのコピー合意

  • レプリケーションプロトコル:ローカルとリモートのディスクは、書き込みが完了したかを決定する場合のみ、書き込みを思うだろうマスターが完成されます。
  • 非同期複製プロトコル:限り、操作が完了した書き込みローカル書き込み操作上のマスターノード、およびパケットを複製する必要性は、ローカルTCP送信バッファに格納されています。
  • レプリケーションメモリプロトコル:ローカル書き込みが完了したディスク、およびデータパケットに対応したコピーは、マスターノードはディスクへの書き込みが完了したとみなし、ノードから到着しました。

おすすめ

転載: blog.csdn.net/sa19861211/article/details/90441633