Por que a configuração dos balanceadores de carga da Camada 7 não requer alterações na configuração do cliente?

2

Por exemplo, para balanceamento de carga de haproxy (camada 7), você só precisa configurar os "servidores reais" ou "backends" por trás do VIP (ou seja, IP do cluster). Por exemplo:

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

No entanto, com lvs (camada 4), eu precisaria:

  1. Defina a máquina lvs como o roteador para implementar "NAT Routing"
  2. A máquina lvs e os backends têm o VIP configurado com alguns modificadores ARP nos backends

Como o balanceamento de carga da camada 7 consegue fazer isso sem a configuração mais envolvida? Estou entendendo mal ou faltando algo fundamental aqui?

    
por Belmin Fernandez 02.03.2013 / 02:03

1 resposta

7

Com o LVS, o tráfego da sua rede passa essencialmente do cliente diretamente para o servidor de back-end. Ter um terceiro host (semitransparentemente) envolvido aqui não é uma configuração de rede normal, e é por isso que é bastante difícil de implementar.

Com o haproxy, o tráfego da sua rede vai do cliente para o haproxy, depois o haproxy para o servidor. No que diz respeito ao servidor, o haproxy é apenas outro cliente. Essa é uma configuração de rede normal, portanto, não há complexidade de camada de rede para configuração (embora haja complexidade da Camada 7, como cabeçalhos X-Forwarded-For). Isso também significa que sua máquina haproxy é um SPOF e precisa ser capaz de lidar com o tráfego total do seu site.

    
por 02.03.2013 / 02:14