Balanceamento de carga
Balanceamento de carga é a prática de distribuir uma carga de trabalho entre vários computadores. Normalmente, ele é realizado para distribuir o tráfego de rede uniformemente entre um grupo de servidores web, mas também pode dividir outras tarefas computacionais, como consultas a bancos de dados e mineração de dados. Isso impede que um único servidor fique sobrecarregado enquanto outros servidores do cluster ficam ociosos. Ao remover gargalos, o balanceamento de carga adequado ajuda a melhorar o desempenho dos servidores que hospedam sites e aplicativos web.
Se um único servidor web receber de repente cinco ou dez vezes mais solicitações por segundo do que costuma receber, ele poderá ter dificuldade para atender a essa demanda. Ele poderá exibir conteúdo mais lentamente do que o normal ou até mesmo travar sob essa carga. Distribuir essas solicitações entre vários servidores ajuda a manter sites e aplicativos web disponíveis e responsivos. O balanceamento de carga funciona até mesmo entre vários locais. Assim, se a conexão do servidor com a Internet estiver saturada, as solicitações poderão ser encaminhadas para outro data center para usar a largura de banda com mais eficiência.
O balanceamento de carga pode ocorrer em uma rede local ou em um grande data center, mas requer hardware ou software dedicado para dividir o tráfego recebido entre os servidores. Esses dispositivos de hardware e programas de software são conhecidos como balanceadores de carga. Quando recebe tráfego, um balanceador de carga distribui as solicitações usando um algoritmo de balanceamento de carga. Algoritmos estáticos distribuem tarefas em um padrão predeterminado, como uma sequência de alternância circular, ou em uma ordem aleatória. Já os algoritmos dinâmicos consideram a carga atual de cada servidor para encaminhar as tarefas aos servidores menos ocupados. O balanceamento dinâmico entre uma CDN distribuída também pode considerar a localização geográfica, encaminhando as solicitações para o servidor mais próximo do cliente e reduzindo a latência ao diminuir a distância que os pacotes de dados precisam percorrer.
Teste seus conhecimentos