Caso você use nginx como balanceador de carga, o fluxo será:
Redirecionar:
Step 1 : Client => LB (HTTP request)
Step 2 : LB => Client (HTTP reply)
Step 3 : Client => Backend (HTTP request)
Step 4 : Backend => Client (HTTP reply)
Proxy:
Step 1 : Client => LB (HTTP request)
Step 2 : LB => Backend (HTTP request)
Step 3 : Backend => LB (HTTP reply)
Step 4 : LB => Client (HTTP reply)
Assim, no primeiro caso, o balanceador de carga, da maneira como você pensa, é um servidor HTTP simples e os backends respondem diretamente ao cliente. No segundo caso, vai todo o caminho de volta ao cliente através do nginx. Como o nginx não irá necessariamente esperar que o corpo da resposta completa esteja disponível para iniciar a transferência de dados para o cliente, ele usa buffers ou arquivos temporários para transmitir de volta dependendo da configuração. Mas, você encontrará maiores tempos de ida e volta de pacotes desde que você obtenha mais um salto durante as transferências reais de dados.
Então, essa é a grande figura do balanceamento de carga da camada 7 do OSI, caso o HTTP esteja em uso. Agora, o balanceamento de carga de rede não está limitado à camada 7 e ao HTTP. Existem outras maneiras.
Particularmente, se você está procurando uma maneira de distribuir tráfego para servidores de back-end que hospedam conteúdo essencialmente estático, use keepalived
como sua solução de balanceamento de carga no modo Roteamento Direto que fará com que os servidores backend respondam diretamente ao cliente, enquanto as solicitações chegam pelo balanceador de carga (é a camada OSI 4, portanto não sabe o que você está fazendo para cima IP virtual e empurre o fluxo TCP para os servidores reais, onde o mesmo IP virtual é montado na interface de loopback). O Keepalived também manipula o HA usando o VRRP (modelo mestre / backup).
Se você quiser manter o nginx, há algo "semelhante", chamado de stream
(apareceu no nginx 1.9.0, não em uma versão "estável"), mas você precisará recompilar você mesmo e isso não impedirá o retorno de volta mesmo trabalhando na camada OSI 4 também.