Notícias

UB CLOUD MANAGED HOST

BALANCEAMENTO DE CARGA

Blog Single

O balanceamento de carga refere-se à distribuição eficiente do tráfego de rede de entrada em um grupo de servidores de back-end, também conhecido como farm de servidores ou pool de servidores.

Sites modernos de alto tráfego devem atender a centenas de milhares, senão milhões, de solicitações simultâneas de usuários ou clientes e retornar o texto, imagens, vídeos ou dados de aplicativos corretos, tudo de maneira rápida e confiável. Para dimensionar com economia para atender a esses grandes volumes, as práticas recomendadas de computação moderna geralmente exigem a adição de mais servidores.

Um balanceador de carga atua como o “policial de trânsito” sentado na frente de seus servidores e roteando solicitações de clientes em todos os servidores capazes de atender a essas solicitações de uma maneira que maximiza a velocidade e a utilização da capacidade e garante que nenhum servidor seja sobrecarregado, o que pode prejudicar o desempenho. Se um único servidor ficar inativo, o balanceador de carga redirecionará o tráfego para os servidores online restantes. Quando um novo servidor é adicionado ao grupo de servidores, o balanceador de carga começa automaticamente a enviar solicitações para ele.

Dessa forma, um balanceador de carga executa as seguintes funções:

    Distribui solicitações de clientes ou carga de rede com eficiência em vários servidores

    Garante alta disponibilidade e confiabilidade enviando solicitações apenas para servidores que estão online

    Oferece a flexibilidade de adicionar ou subtrair servidores conforme a demanda

Algoritmos de balanceamento de carga

Diferentes algoritmos de balanceamento de carga fornecem diferentes benefícios; a escolha do método de balanceamento de carga depende de suas necessidades:

    Round Robin - As solicitações são distribuídas pelo grupo de servidores sequencialmente.

    Menos conexões - Uma nova solicitação é enviada ao servidor com o menor número de conexões atuais aos clientes. A capacidade de computação relativa de cada servidor é fatorada para determinar qual deles tem menos conexões.

    Least Time - Envia solicitações ao servidor selecionado por uma fórmula que combina o tempo de resposta mais rápido e o menor número de conexões ativas.

    Hash - Distribui solicitações com base em uma chave que você define, como o endereço IP do cliente ou a URL da solicitação para aplicar um hash consistente e minimizar a redistribuição de cargas se o conjunto de servidores upstream for alterado.

    IP Hash - O endereço IP do cliente é usado para determinar qual servidor recebe a solicitação.

    Random with Two Choices - Escolhe dois servidores aleatoriamente e envia a solicitação para aquele selecionado

Benefícios do balanceamento de carga

    Tempo de inatividade reduzido

    Escalável

    Redundância

    Flexibilidade

    Eficiência

Balanceamento de carga de hardware versus software

Os balanceadores de carga geralmente vêm em dois tipos: baseados em hardware e baseados em software. Os fornecedores de soluções baseadas em hardware carregam software proprietário na máquina que fornecem, que geralmente usa processadores especializados. Para lidar com o aumento do tráfego em seu site, você precisa comprar mais ou maiores máquinas do fornecedor. As soluções de software geralmente são executadas em hardware comum, tornando-as menos caras e mais flexíveis. Você pode instalar o software no hardware de sua escolha ou em ambientes de nuvem como AWS EC2.

Interconexão de sistema aberto de sete camadas (OSI)

O balanceamento de carga pode ser executado em várias camadas no Modelo de Referência Open Systems Interconnection (OSI) para rede.

O balanceamento de carga da camada 7 é mais intensivo da CPU do que o balanceamento de carga da camada 4 baseado em pacotes, mas raramente causa desempenho degradado em um servidor moderno. O balanceamento de carga da camada 7 permite que o balanceador de carga tome decisões mais inteligentes e aplique otimizações e alterações ao conteúdo.


Notícias