Balanceamento de carga entre dois servidores

Balanceamento de carga entre dois servidores

Saiba como você pode usar o balanceador de carga ( Load Balance ) para distribuir o tráfego entre dois servidores, nesse caso Linode e Digital Ocean.

Muitos clientes me questionam:

“Gustavo, é possível fazer um espelhamento, quando meu site caí no Google, o servidor na AWS assume?”

E ao responder que isso é possível, eles me questionam novamente: “Dá para fazer isso?”

Sim, você pode usar o balanceador de carga (Load Balance) para distribuir o tráfego entre os dois serviços Cloud.

Nesse exemplo, vou utilizar Linode e Digital Ocean.

A maioria das aplicações fazem o balanceamento de carga entre servidores/serviços no mesmo data-center.

No entanto, se você estiver executando aplicações de nível crítico em que o tempo de uptime precisa ser alto, e em todo o mundo, será necessário um balanceador de carga de nuvem.

A SECNET oferece opções de balanceamento de carga local e global que ajudam a direcionar o tráfego para vários data-centers.

Sobre o Load Balance

Conforme explicação do Cloudflare: “O balanceamento de carga baseado em nuvem elimina a necessidade de soluções de hardware ou software dedicados, reduzindo o impacto de falhas de rede local em sua disponibilidade global, ao mesmo tempo em que oferece uma solução econômica que se adapta à crescente base de usuários.”

Alguns dos recursos do Cloudflare LB:

  • As verificações de integridade são embutidas para que você possa derrubar rapidamente o servidor defeituoso – automaticamente;
  • Disparo Failover quando a verificação de integridade falhar;
  • Reduza a latência roteando o tráfego para o servidor mais próximo;
  • Nível de DNS e suporte HTTP (S), TCP e UDP.

A configuração é feita pelo painel ou via API do Cloudflare.

O balanceamento de carga em qualquer plataforma em nuvem como Azure, DigitalOcean, AWS, GCP, Alibaba etc. Mas eu escolhi Linode e Digital Ocean para a demonstração.

Detalhes de configuração dos servidores

Levantei um servidor na plataforma da Linode e outro na Digital Ocean com as seguintes configurações:

  • Servidor Ubuntu;
  • Nginx;
  • Adicionado index.html com texto personalizado para mostrar a página que está sendo usada pelo servidor;
  • Nginx e as páginas estão acessíveis em ambos os servidores.

Agora vamos configurar e implementar o Load Balance!

Ativando o Balanceador de Carga

Eu tenho um domínio disponível (lab.secnet.host) que usarei para os testes nesse tutorial.

Fiz a configuração do LB com as opções mínimas, somente para demonstrar a funcionalidade.

LoadBalance Configurado - Como usar equilíbrio de carga entre dois servidores - SECNET

Agora Load Balance está ativado e pronto para ser configurado.

Como configurar o balanceamento de carga

O Balanceamento de Carga da Cloudflare por exemplo oferece três recursos principais:
  • Balanceamento de carga e failover: forneça tráfego uniformemente em servidores saudáveis, com failover automático se algum servidor cair.
  • Verificações de integridade ativa: configure verificações de integridade para monitorar seus servidores em intervalos configuráveis ​​e procure códigos de status específicos, texto de resposta e/ou tempo limite.
  • Controle geográfico: direcione os visitantes na Europa para o seu data center europeu, para os visitantes dos EUA em seu data center na América do Norte, ou até em nível regional.

Realizei a configuração básica do LB:

LoadBalance Configurado - Como usar equilíbrio de carga entre dois servidores - SECNET

Na imagem, temos uma Pool criada com dois servidores. Além do Health Check com parâmetro “/get“.

Nosso laboratório já está pronto! O servidor principal está assumindo a aplicação.

Como usar equilíbrio de carga entre dois servidores - SECNET

Agora vamos testar?

Teste de balanceador de carga

O Servidor 1 padrão é Linode.

Veja que quando eu paro o servidor Nginx no servidor principal (Linode), o Servidor 2 é acionado, na Digital Ocean.

Como usar equilíbrio de carga entre dois servidores - SECNET

Agora, com o Servidor 1 parado, o Servidor 2 assume o controle. Confira:

Como usar equilíbrio de carga entre dois servidores - SECNET

WoooW! Funcionou.

Obs.: Por padrão, o IP do Cloudflare será exibido nos registros de acesso do Nginx.

Terminologias:

Failover: o tráfego intermediado por proxy pelo CDN do Cloudflare é capaz de fazer failover em segundos, evitando a necessidade de aguardar a atualização dos caches DNS dos visitantes.

Monitores: os monitores definem como o Cloudflare deve verificar a integridade de seus servidores de origem: com que frequência, que caminho em suas origens (definido em seus Pools), com que frequência deve tentar novamente e qual código de status HTTP procurar. Os monitores são aplicados a um Pool, que é quando o Cloudflare começa a verificar a integridade de seus servidores de origem.

Pools: Pools são grupos de servidores de origem (ou endpoints), cada um identificado pelo seu endereço IP ou hostname. Você pode configurar vários pools e configurar uma prioridade de failover (Pool A -> Pool B -> Pool C) conforme necessário. Se você estiver familiarizado com a terminologia de DNS, pense em um Pool como um “conjunto de registros” – exceto que apenas retornamos endereços considerados saudáveis. Depois que um Pool é criado, o Cloudflare começa a verificar imediatamente a integridade de todos os servidores de origem dentro desse Pool.

Balanceador de Carga: Um “Balanceador de Carga”, nos termos do Cloudflare, é um nome de host DNS – por exemplo, www.exemplo.com – para o qual você deseja que o tráfego seja balanceado. Um Balanceador de Carga define quais conjuntos ele deseja usar, na ordem em que devem ser usados ​​e (se habilitado) como distribuir geograficamente o tráfego para diferentes Pools.

Conclusão

Se você estiver procurando por alta disponibilidade entre vários data-centers ou servidores de origem, a SECNET pode ajudá-lo.

Gostou? Compartilhe com seus amigos para que mais pessoas saibam Como usar equilíbrio de carga (Load Balance) entre dois servidores.

Tem dificuldades em instalar serviços no seu servidor? Está em busca de um ambiente otimizado e gerenciado? Fale com a gente!

A SECNET não está só preocupada com os sites hospedados e gerenciados, mas com a satisfação e segurança dos seus clientes.

Quer avaliar o desempenho da sua aplicação com a infraestrutura da SECNET? Solicite o atendimento por um especialista na área.

Como instalar Go 1.7 no CentOS 7 - Hospedagem de Sites - SECNET
A seguir:

Como instalar Go 1.7 no CentOS 7

Como instalar Go 1.7 no CentOS 7