segunda-feira, 30 de novembro de 2015

Clusters de Balanceamento de Carga



Hoje em dia, os servidores mais comuns são os servidores de banco de dados. Este tipo de servidor abrange extensas listas de clientes ou de produtos assim como dados complementares, como quem criou ou modificou um arquivo e quando, etc. Tudo isso é armazenado num de banco de dados e o software se encarrega de organizar as mensagens por tópico, dividi-las em páginas, auxiliar em buscas e assim por diante.

Cada vez mais sites organizam seu conteúdo dessa maneira. Isso permite uma série de recursos e facilita as atualizações, mas em compensação aumenta muito o trabalho do servidor. Enquanto num site construído com páginas estáticas, em html, o servidor simplesmente lê os arquivos no disco rígido e o despacha pela rede, em um site baseado em um banco de dados. ele precisa ler vários arquivos diferentes, cruzar dados, montar a página, etc. cada vez que um usuário acessa.

Enquanto o site tiver pouco tráfego(relativamente falando em relação ao porte do servidor), não haverá problemas. Mas conforme o uso se amplia, o que seria uma boa coisa para o dono do servidor, normalmente falando, eventualmente a carga de trabalho aumenta até congestionar o site.

Um cluster, como visto anteriormente, consiste em um conjunto de computadores vagamente ou fortemente ligados que trabalham em conjunto para que, em muitos aspectos, eles  possam ser vistos como um único sistema.


Já que o nosso primeiro servidor não está dando conta da carga de trabalho diário, podemos montar um cluster, com, por exemplo, mais 4 servidores (ou nós).  Agora temos 5 no total. O link com a Internet está no servidor 1, enquanto os outros estão ligados a ele através de uma rede local, como na ilustração acima:

De qualquer modo, todos os dados continuarão passando pelo servidor  1, pois é ele quem possui o link com a internet, mas o grande problema aqui não é a simples transmissão dos dados, é processar os pedidos e montar as páginas, é para isso que os outros servidores...bem, servem.
Isto é balanceamento de carga, onde os servidores  se dividem entre os pedidos. Cada um cuidaria de parte das requisições e enviaria as páginas prontas para o servidor  1, que por sua vez as enviaria para o usuário. Além dos servidores, há a necessidade de um programa de gerenciamento. Exemplos: a versão Enterprise do Cold Fusio, por exemplo, vem com um software de balanceamento de carga, o ClusterCATS. Se a ideia é usar um software GNU, então uma boa opção seria o Linux Virtual Server. Uma busca na internet revelará muitos outros exemplos.

Todos os servidores manteriam uma cópia integral de todos os dados do site por praticidade e segurança.  Isto já é um tipo de espelhamento. Caso algum dos servidores precise ser desligado, seja por alguma falha, ou então para algum tipo de manutenção, os outros três continuariam trabalhando normalmente. O Virtual Linux Server, por exemplo, tem a capacidade de detectar a desconexão automaticamente, e passar a enviar tarefas apenas para os outros três. Depois de terminada a manutenção, o V.L. Server se encarregaria de atualizar os dados para que ele pudesse voltar a trabalhar.
Finalizando:
Depois de toda essa explicação, um resumo: clusters de balanceamento de carga é simplesmente um cluster cuja função é dividir a carga de trabalho entre os nós ou servidores para maior agilidade e segurança do processo.

Referências:

Nenhum comentário:

Postar um comentário