DEV Community

Bruno Souza
Bruno Souza

Posted on

Tipos de estratégia de balanceamento de carga

Olá, Mentes Tech!

Trabalhei essa semana em um estratégia de balanceamento de cargas, e antes dessa pesquisa, confesso que conhecia/usava somente 3 das que estão na lista abaixo, bora falar de estratégias ?

O balanceamento de carga é uma técnica para melhorar a disponibilidade e a eficiência dos serviços de TI, distribuindo as cargas de trabalho de maneira equitativa entre vários recursos de computação.

Aqui estão algumas estratégias comuns de balanceamento de carga:

1. Round Robin

  • Descrição: As solicitações são distribuídas sequencialmente entre os servidores.
  • Vantagens: Simples de implementar e eficaz para cargas uniformemente distribuídas.
  • Desvantagens: Não leva em consideração a carga atual dos servidores, podendo sobrecarregar servidores mais lentos.

2. Least Connections

  • Descrição: As solicitações são enviadas para o servidor com o menor número de conexões ativas.
  • Vantagens: Ajuda a evitar sobrecarga em servidores ocupados.
  • Desvantagens: Pode não ser eficiente se as conexões tiverem durações variáveis.

3. Least Response Time

  • Descrição: Direciona as solicitações para o servidor com o menor tempo de resposta.
  • Vantagens: Geralmente resulta em uma distribuição mais equilibrada, considerando a capacidade de resposta dos servidores.
  • Desvantagens: Pode exigir monitoramento constante dos tempos de resposta.

4. IP Hash

  • Descrição: Usa um algoritmo de hash baseado no endereço IP do cliente para determinar o servidor de destino.
  • Vantagens: Garante que as solicitações de um cliente específico sejam sempre direcionadas ao mesmo servidor.
  • Desvantagens: Pode levar a uma distribuição desigual se os IPs não forem distribuídos uniformemente.

5. Weighted Round Robin

  • Descrição: Extensão do Round Robin, onde cada servidor é atribuído a um peso, e servidores com maior capacidade recebem mais solicitações.
  • Vantagens: Permite considerar as capacidades diferentes dos servidores.
  • Desvantagens: Requer configuração manual dos pesos, o que pode ser complexo.

6. Weighted Least Connections

  • Descrição: Combina os conceitos de Least Connections e pesos, direcionando as solicitações para servidores com menos conexões ativas, ponderados por sua capacidade.
  • Vantagens: Equilibra carga de forma mais eficaz em ambientes heterogêneos.
  • Desvantagens: Pode ser mais complexo de configurar e monitorar.

7. Random

  • Descrição: Direciona as solicitações para um servidor escolhido aleatoriamente.
  • Vantagens: Simples e pode ser eficaz em ambientes com servidores de capacidades semelhantes.
  • Desvantagens: Pode resultar em distribuição desigual e ineficiente.

8. Consistent Hashing

  • Descrição: Utiliza uma técnica de hash que mapeia solicitações para servidores de forma a minimizar a redistribuição de carga quando servidores são adicionados ou removidos.
  • Vantagens: Boa escalabilidade e estabilidade em sistemas dinâmicos.
  • Desvantagens: Pode ser complexo de implementar.

9. Server Health Monitoring

  • Descrição: Monitora a saúde dos servidores e desvia o tráfego de servidores que estão falhando ou sobrecarregados.
  • Vantagens: Aumenta a resiliência e a disponibilidade do sistema.
  • Desvantagens: Requer ferramentas adicionais e monitoramento contínuo.

10. Anycast Routing

  • Descrição: Usa a topologia da rede para direcionar as solicitações para o servidor mais próximo (em termos de roteamento).
  • Vantagens: Pode reduzir a latência.
  • Desvantagens: Pode ser complexo de implementar e depende da infraestrutura da rede.

Conclusão

Cada estratégia tem seus prós e contras, e a escolha da melhor técnica de balanceamento de carga depende das necessidades específicas da aplicação, da infraestrutura disponível e dos requisitos de desempenho e disponibilidade.

Após conhecer as estratégias disponíveis,
optei por usar o Weighted Round Robin, pois é o cenário proposto, dividir a carga de trabalho entre servidores.

Top comments (0)