可用性とは何ですか?
HA(高可用性)高度に利用可能である、単一障害点が自動的にサービス機構常時オンを保証するために、リソースと交換サービスをシフトする高可用性クラスタ内にある場合。
LVS
LVS:(Linux仮想サーバー)Linuxの仮想サーバーであり、主に負荷分散の役割を達成します。
LVS組成
LVSプログラムはIPVSとipvsadmのを含め、2つの部分からなります
- IPVS(IP仮想サーバー):IPVSと呼ばれるカーネル空間内のコードの作業の一部、コードは、スケジューリングを達成発効しました。
- ipvsadmの:ユーザ空間と呼ばれるipvsadmの中に別の作業期間は、クラスタサービスで定義されたルールのコアフレームワークIPVS準備する責任があり、誰が本当のバックエンドサーバ(実サーバ)であります
比較のロードバランシング
LVS:
- 強力な抗負荷容量。反負荷容量、高性能、60%F5のハードウェアに到達することができ、メモリおよびCPUリソースの消費が比較的低いです
- ネットワーク層の4つの作品、VRRP転送プロトコル(配布目的のみ)、Linuxカーネルの具体的な処理の流れなので、フローなし。
- 安定性、信頼性は、それ自体が完璧な冗長性を持っています。(例:LVS + keepalivedの)
- 幅広いアプリケーションは、ロード・バランシングは、すべてのアプリケーションのために行うことができます。
- 私たちは、静的および動的な分離を行うことができない、定期的な治療をサポートしていません。
- これは、ロード・バランシング・アルゴリズムをサポートしています。RR(ラウンドロビン)、WRR(重み付けラウンドロビン)、LC(最小接続)、WLC(加重最小接続)
- ネットワークに依存する複雑な構成は、比較的大きく、高い安定性です。
Ngnix:
- ネットワークの7層に取り組む、あなたは、このようなドメイン名、ディレクトリ構造用としてHTTPアプリケーションのためのいくつかの転換政策を行うことができます。
- ネットワークに依存nginxのは、それが行うことができる負荷のピング機能することは理論的に可能であり、比較的小さいです。
- インストールと設定、より便利にテストするのは比較的簡単でnginxの。
- また、高負荷圧力を取ることができ、安定したが、一般的に1万の以上の同時倍をサポートしています。
- バックエンドサーバのヘルスチェックはURLのみで検出されたサポートしていないポートを介して検出することをサポートしています。
- nginxの非同期処理要求がサーバノードの負荷を軽減することができます。
- 小さい範囲となるようnginxのは、HTTP、HTTPS、および電子メールプロトコルをサポートすることができます。
- これは、直接保有のセッションをサポートしていませんが、ip_hashを通じて解決します。ビッグリクエストヘッダのサポートでは、非常に良いではありません
- 負荷分散アルゴリズムをサポートしています。ラウンドロビン(ラウンドロビン)、重量ラウンドロビン(重み付けラウンドロビン)、IP-ハッシュ(IPハッシュ)
- nginxのは、キャッシュ機能であるWebサーバーを行うことができます。
HAProxy:
- エージェントは、次の2つのモードをサポート:TCP(4)とHTTP(7)、仮想ホストのサポートを。
- nginxのは、などのセッションが残る、クッキーの指導、などいくつかの欠点を補完することができます
- バックエンドサーバのサポートURLの検出は、問題が良いの助けになります検出します。
- など、より多くの負荷分散戦略:動的加重ラウンドロビン(ダイナミックラウンドロビン)、重み付けされた送信元アドレスのハッシュ(加重ソースハッシュ)、加重および加重パラメータURLハッシュハッシュ(加重パラメータハッシュ)が達成されています
- ただ、多くのnginxのより良い負荷分散の速度を持っているよりも、HAProxyの面で効率から。
- HAProxyはバランスを検出して負荷にバランスのMysql、DBノードの後端をロードすることができます。
- 負荷分散アルゴリズムをサポートしています(クッキーに基づく)ラウンドロビン(ラウンドロビン)、重量ラウンドロビン(重み付けラウンドロビン)、ソース(元アドレスが残っている)、RI(要求URL)、RDP-クッキー
- これは、Webサーバーのキャッシュを行うことができません