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.
Agora Load Balance está ativado e pronto para ser configurado.
Como configurar o balanceamento de carga
Realizei a configuração básica do LB:
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.
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.
Agora, com o Servidor 1 parado, o Servidor 2 assume o controle. Confira:
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.