回答:
2つのhaproxyインスタンス間で負荷を分散する必要があるほど負荷が大きい場合、DNSラウンドロビンは悪い考えではありません(この負荷があれば驚かされます)。ただし、DNSラウンドロビンは適切なフェールオーバーを提供しません。
Stack Overflowではheartbeat
、単一の仮想IPを提供するために使用します。このIPは、一度に1つのhaproxyホストでのみアクティブになります(ダウンした場合、もう一方がこのIPを引き継ぎます)。ハートビートを使用して各マシンにIPを設定し、2台の間でDNSラウンドロビンを設定できます。一方が失敗した場合、もう一方は両方のIPを持ちます。
HAProxyは、物理サーバーで約1〜5%のCPUを使用して、単一のを持つトラフィックのバランスを取りますIntel(R) Xeon(R) CPU E5504 @ 2.00GHz
。そのため、HAProxyは一般に多くのトラフィックを簡単に処理できます。
-c
が、バインディング設定の間違いなどをキャッチできない場合があります。
カイルが言うように、ハートビートを使用して2つのhaproxyサーバーをフェールオーバーペアとして機能させることができます。多くの人が利用行うながら、しかし、ハートビートを仕事のために、keepalivedの ISはhaproxyの著者によって示唆しています。
彼はhaproxyメーリングリストの詳細を説明しています:http ://www.formilux.org/archives/haproxy/1003/3259.html
簡単に言うと、次のようになります。
ハートビートはクラスター指向です。1つのサーバーのみがリソース(つまりSANストレージ)にアクセスできるようにします
keepalivedはネットワーク指向です。少なくとも1つのサーバーに問題のIPがあることを確認します。
あなたがここで探しているものを見つけるかもしれません:http : //blog.haproxy.com/2014/01/17/emulating-activepassing-application-clustering-with-haproxy/