Clustering refere-se à conexão de dois ou mais computadores de modo que pareçam uma única máquina (virtual) para os clientes. Em geral, isso é feito colocando um balanceador de carga à frente do cluster para receber as solicitações dos clientes e distribuí-las entre os nós que compõem o cluster. O clustering é uma maneira econômica de melhorar o desempenho, a confiabilidade e a escalabilidade de um site ou aplicativo usando hardware comum.

Para consultar informações gerais sobre balanceadores de carga, confira Economize 80% em comparação com balanceadores de carga de hardware.

O clustering também é conhecido como escalabilidade horizontal. À medida que a demanda aumenta, basta adicionar mais servidores ao cluster, e o balanceador de carga distribui as solicitações entre esse grupo maior de servidores. Em contrapartida, a escalabilidade vertical exige a substituição de um servidor por outro mais potente, capaz de processar um volume maior de solicitações por segundo — uma abordagem geralmente cara.

Na configuração mais comum, todos os servidores de um cluster hospedam o mesmo conteúdo e executam as mesmas aplicações. Nesse caso, algoritmos simples de balanceamento de carga são suficientes; um dos mais simples é o round robin, no qual as solicitações são distribuídas sequencialmente entre os nós do cluster. Também é possível agrupar diferentes tipos de máquinas especializadas em um cluster e usar um balanceador de carga de camada 7 para direcionar o tráfego ao servidor apropriado com base no tipo de conteúdo solicitado. Por exemplo, o balanceador de carga pode direcionar solicitações de vídeo a um servidor de streaming de mídia e solicitações de informações sobre preços e estoque a um servidor que executa uma aplicação de banco de dados.

Benefícios do clustering

  • Melhor desempenho – Ao adicionar mais nós ao cluster conforme necessário e distribuir a carga entre eles, você fornece respostas rápidas e precisas às solicitações dos usuários por dados da Web e de aplicativos.
  • Maior confiabilidade – Por definição, um cluster elimina pontos únicos de falha. Quando um nó apresenta mau funcionamento, o balanceador de carga redireciona as solicitações para os demais nós até que ele volte a ficar online.
  • Menor custo – O uso de clusters é uma maneira econômica de obter desempenho e escalabilidade, pois requer apenas hardware comum.
  • Facilidade de manutenção – Os nós podem ser colocados offline para manutenção e atualização conforme necessário, mesmo durante o horário comercial normal, pois os outros nós do cluster permanecem disponíveis para atender às solicitações.

Como o NGINX pode ajudar?

NGINX Plus e NGINX são as melhores soluções de balanceamento de carga da categoria, usadas por sites de alto tráfego, como Dropbox, Netflix e Zynga. Mais de 350 milhões de sites em todo o mundo confiam no NGINX Plus e no NGINX Open Source para disponibilizar seu conteúdo com rapidez, confiabilidade e segurança.

Como balanceador de carga de software, o NGINX Plus é significativamente mais econômico do que soluções de hardware com recursos semelhantes. Seus sofisticados algoritmos de balanceamento de carga, verificações de integridade dos servidores e outros recursos o tornam ideal para distribuir o tráfego entre um grupo de servidores.

Para saber mais sobre os benefícios de usar o NGINX Plus para balancear a carga dos seus aplicativos, leia nosso post no blog sobre Cinco motivos para mudar para um balanceador de carga de software.