O Load Balancer otimiza o uso de recursos, reduz a latência e evita restrições de infraestrutura.
Funções do balanceador de carga
Ao dimensionar horizontalmente, o serviço ajuda a determinar a carga de trabalho necessária para um novo servidor no cluster. Se houver dois servidores no cluster, cada um deles receberá uma quantidade igual de tráfego. O Load Balancer oferece flexibilidade ao adicionar ou remover máquinas, otimiza o uso dos recursos da infraestrutura de TI e acelera o serviço de mensagens.
O Load Balancer envia solicitações somente para servidores on-line. Se o servidor ficar inativo, o serviço distribuirá as tarefas entre outros elementos da infraestrutura de TI. O Load Balancer elimina um único ponto de falha, fornecendo proteção ao sistema e um alto nível de disponibilidade de aplicativos.
Em termos funcionais, o Load Balancer é semelhante a um proxy reverso, que também atua como intermediário entre o servidor e o cliente.
Algoritmos do balanceador de carga
O Load Balancer usa os seguintes algoritmos:
- Round Robin – distribuição sequencial de solicitações em um grupo de servidores;
- Menos conexões – uma nova solicitação é recebida pelo servidor com o menor número de conexões de clientes atuais. O poder de computação relativo de cada servidor é levado em conta ao determinar o número de conexões;
- Sticky Sessions – um algoritmo para acoplar sessões de usuário, que ajuda o Round Robin e o Least Connections. O servidor que processou a solicitação do usuário é atribuído à sessão do usuário. Se o servidor inicial não estiver disponível, a sessão do usuário será iniciada no outro;
- Hash – distribuição de solicitações com base em uma determinada chave, por exemplo, IP ou URL;
- Hash de IP – o endereço IP do cliente é usado para determinar qual servidor recebe a solicitação.