たとえば、haproxy
(レイヤー7)の負荷分散の場合、VIP(つまり、クラスターIP)の背後にある「実サーバー」または「バックエンド」を構成するだけで済みます。例えば:
listen smtp 192.168.3.10:25
mode tcp
balance roundrobin
server smtp1 192.168.3.1:25 check
server smtp1 192.168.3.2:25 check
ただし、lvs
(レイヤー4)では、次のいずれかを行う必要があります。
lvs
マシンを設定しますlvs
マシンとバックエンドには、バックエンドでいくつかのARPmodを使用して構成されたVIPレイヤー7の負荷分散は、より複雑な構成なしでこれをどのように実行しますか?私はここで基本的な何かを誤解したり見落としたりしていますか?
LVSを使用すると、ネットワークトラフィックは基本的にクライアントからバックエンドサーバーに直接送信されます。ここに3番目のホスト(半透過的)を含めることは、通常のネットワーク構成ではありません。そのため、実装がかなり困難です。
Haproxyを使用すると、ネットワークトラフィックはクライアントからhaproxyに移動し、次にhaproxyからサーバーに移動します。サーバーに関する限り、haproxyは単なる別のクライアントです。これは通常のネットワーク設定であるため、設定するネットワーク層の複雑さはありません(ただし、X-Forwarded-Forヘッダーなどのレイヤー7の複雑さはあります)。また、haproxyマシンがSPOFであり、Webサイトへの総トラフィックを処理できる必要があることも意味します。