O que é balanceamento de carga na camada 7?
O balanceamento de carga pode ser realizado em várias camadas do Modelo de Referência de Interconexão de Sistemas Abertos (OSI) para redes. Aqui, apresentamos uma visão geral de duas opções de balanceamento de carga em duas camadas diferentes do modelo.
Diferenças entre o balanceamento de carga da camada 4 e da camada 7
O balanceamento de carga da camada 4 opera na camada intermediária de transporte, responsável pela entrega de mensagens sem considerar seu conteúdo. O Protocolo de Controle de Transmissão (TCP) é o protocolo da camada 4 usado no tráfego do Protocolo de Transferência de Hipertexto (HTTP) na Internet. Os balanceadores de carga da camada 4 simplesmente encaminham pacotes de rede de e para o servidor upstream sem inspecionar o conteúdo dos pacotes. Eles podem tomar decisões limitadas de roteamento inspecionando os primeiros pacotes do fluxo TCP.
O balanceamento de carga da camada 7 opera na camada de alto nível de aplicação, que lida com o conteúdo efetivo de cada mensagem. O HTTP é o protocolo predominante da camada 7 para o tráfego de sites na Internet. Os balanceadores de carga da camada 7 roteiam o tráfego de rede de maneira muito mais sofisticada do que os balanceadores de carga da camada 4, especialmente no caso de tráfego baseado em TCP, como o HTTP. Um balanceador de carga da camada 7 encerra o tráfego de rede e lê a mensagem contida nele. Ele pode tomar uma decisão de balanceamento de carga com base no conteúdo da mensagem (a URL ou o cookie, por exemplo). Em seguida, estabelece uma nova conexão TCP com o servidor upstream selecionado (ou reutiliza uma conexão existente por meio de conexões HTTP persistentes) e envia a solicitação ao servidor.
Benefícios do balanceamento de carga da camada 7
O balanceamento de carga da camada 7 exige mais da CPU do que o balanceamento de carga da camada 4 baseado em pacotes, mas raramente prejudica o desempenho de um servidor moderno. O balanceamento de carga da camada 7 permite que o balanceador de carga tome decisões mais inteligentes sobre o balanceamento de carga e aplique otimizações e alterações ao conteúdo (como compactação e criptografia). Ele usa armazenamento em buffer para aliviar os servidores upstream de conexões lentas, melhorando o desempenho.
Um dispositivo que realiza o balanceamento de carga da camada 7 é frequentemente chamado de servidor proxy reverso.
Um exemplo de balanceamento de carga da camada 7
Vejamos um exemplo simples. Um usuário acessa um site com alto volume de tráfego. Durante a sessão, ele pode solicitar conteúdo estático, como imagens ou vídeos, conteúdo dinâmico, como um feed de notícias, e até mesmo informações transacionais, como o status de um pedido. O balanceamento de carga da camada 7 permite que o balanceador de carga encaminhe uma solicitação com base nas informações contidas nela, como o tipo de conteúdo solicitado. Assim, uma solicitação de imagem ou vídeo pode ser encaminhada aos servidores que armazenam esse conteúdo e são altamente otimizados para fornecer conteúdo multimídia. As solicitações de informações transacionais, como um preço com desconto, podem ser encaminhadas ao servidor de aplicações responsável por gerenciar os preços. Com o balanceamento de carga da camada 7, os arquitetos de redes e aplicações podem criar uma infraestrutura de servidores altamente ajustada e otimizada ou uma rede de entrega de aplicações que seja confiável e possa ser dimensionada com eficiência para atender à demanda.
Como o NGINX pode ajudar
NGINX Plus e NGINX são as melhores soluções de balanceamento de carga da categoria, usadas por sites de alto tráfego como Dropbox, Netflix e Zynga. Mais de 350 milhões de sites em todo o mundo confiam no NGINX Plus e no NGINX Open Source para disponibilizar seu conteúdo com rapidez, confiabilidade e segurança.
Como um balanceador de carga baseado em software, o NGINX Plus é muito mais econômico do que soluções baseadas em hardware com recursos semelhantes. Os abrangentes recursos de balanceamento de carga do NGINX Plus permitem criar uma rede de entrega de aplicações altamente otimizada.
Ao inserir o NGINX Plus como balanceador de carga à frente do seu conjunto de servidores, você aumenta a eficiência, o desempenho, a confiabilidade e a escalabilidade de todo o seu site. O NGINX Plus ajuda a maximizar tanto a satisfação dos clientes quanto o retorno sobre seus investimentos em TI.

