Um benefício útil de "L7", como haproxy, é poder usar cookies para manter o mesmo navegador acessando o mesmo servidor de back-end. Isso faz com que os clientes de depuração sejam muito mais fáceis.
O balanceamento de L4 pode reverter um único usuário em vários servidores de back-end. (o que em certos casos pode ser vantajoso, mas em um sentido de depuração / perfilamento, usar "L7" é muito mais valioso).
EDITAR: Há também uma vantagem de velocidade potencial do uso do balanceamento HTTP. Com o keep-alives, os clientes podem estabelecer uma única sessão TCP para seu balanceador e, em seguida, enviar muitos HITs sem a necessidade de restabelecer novas sessões TCP (handshake de 3 vias). Da mesma forma, muitos LBs mantêm sessões keep-alive para sistemas back-end, eliminando a necessidade de fazer o mesmo handshake no back-end.
O balanceamento de carga de TCP restrito pode não conseguir esses dois com facilidade.
/ * FWIW: Eu não diria "L7" ou "L4", eu diria HTTP ou TCP. Mas eu sou um defensor para evitar usar o OSI para descrever as coisas que não combinam bem. * /
Eu acho que fundamentalmente, se você não tem certeza do que implantar, vá com o que parece simples e natural para você. Teste-o (use o banco apache?) E certifique-se de que ele funciona para as suas necessidades. Para mim, o HTTP LB é mais natural.