DEV Community

Bruno Souza
Bruno Souza

Posted on

3

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.

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs