LVSとHAProxy、どちらを選択すればよいですか?


21

主に大規模なWebアプリケーション向けに、負荷分散とフェールオーバー戦略のソリューションを探しています。Web、MySQL、および他の多くのHTTPまたはTCPベースのサービスなど、バランスを取るべき多くのサービスがあります。しかし、彼らの長所と短所が何であり、どちらを選択すべきかはわかりません。

回答:


24

2つのソリューション(LVS、HAproxy)を区別する最も重要なことは、一方がレイヤー4(LVS)で、もう一方がレイヤー7(HAproxy)で動作していることです。レイヤー参照はOSIネットワークモデルからのものであることに注意してください。

これを理解していれば、適切な場所で使用できます。たとえば、接続数だけでバランスをとる必要がある場合(たとえば)、レイヤー4ロードバランサーで十分です。一方、HTTP応答時間に基づいてロードバランサーを使用する場合は、上位層のLBが必要になります。

より高いレベルのLBを使用する場合の欠点は、必要なリソースです(同じ量のトラフィックなど)。プラスは明らかです-「パケットレベルインスペクション」、「プロトコルルーティング」など-単純な「パケットルーティング」よりもはるかに複雑なことを考えてください。

最後にしたいのは、HAproxyはユーザー空間(「カスタマイズ/微調整がはるかに簡単」と考えるが、遅い(パフォーマンス))であり、LVSはカーネル空間(「地獄のように速い」がカーネルのように硬い) )。また、「LVSのアップグレードはカーネルの変更を意味する可能性があることを忘れないでください-エルゴ、リブート」...

結論として、適切なツールを適切な仕事に使用してください。


現実には実装されていなかったにもかかわらず、人々がOSIレイヤーをどのように使用するかが大好きです。
クバンチク

9

両方を使用する必要があります。HAProxyは優れたロードバランサーであり、LVSはフェールオーバーのソリューションであり、単一障害点を回避します。


1
+ 1、HAProxyは主にHTTPの使用を除き、それ以外の場合は問題になる可能性のあるリクエストのソースIPを隠します(たとえば、SMTP RBLの場合)
Antoine Benkemoun

3
私は純粋なtcpサーバーにHAProxyを使用しており、非常にうまく機能しています。隠されたソースIPは、すべてのロードバランサーの問題です。
lg。

2
隠されたソースIPは、ロードバランサーがSMTPサービスに頻繁に使用されない理由の1つだと思います。
ステファンLasiewski

3
lvsとha proxyは同じことをします。カーネル上で実行されるため、LVSのほうがより高速です。
ディエゴウォイタセン

1
@AntoineBenkemounでは、HAProxyの透過モードを使用してクライアントIPを表示できます。
トーマス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.