为什么第 7 层负载均衡器配置不需要任何客户端配置更改?

Bel*_*dez 2 linux cluster load-balancing haproxy lvs

例如,对于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
Run Code Online (Sandbox Code Playgroud)

但是,对于lvs(第 4 层),我需要:

  1. 将本lvs机设置为路由器,实现“NAT路由”
  2. lvs机和后端都配置有与后端的一些ARP MODS的VIP

如果没有更复杂的配置,第 7 层负载平衡如何设法做到这一点?我在这里误解或遗漏了一些基本的东西吗?

dev*_*ull 7

使用 LVS,您的网络流量基本上从客户端直接传输到后端服务器。这里涉及第三台主机(半透明)不是正常的网络配置,这就是为什么它很难实现。

使用 haproxy,您的网络流量从客户端到 haproxy,然后 haproxy 到服务器。就服务器而言,haproxy 只是另一个客户端。这是一个正常的网络设置,因此没有设置网络层的复杂性(尽管有第 7 层的复杂性,例如 X-Forwarded-For 标头)。这也意味着您的 haproxy 机器是 SPOF,并且需要能够处理您网站的总流量。