O que é cluster de aplicativos?
Na computação, um cluster é um grupo de máquinas, geralmente computadores ou servidores, dedicados a uma única tarefa. A prática de agrupar servidores dessa maneira é chamada de clustering de servidores. O clustering de aplicativos é o clustering de servidores usando um programa de software para configurar os servidores para cluster. O programa de software cria uma conexão entre os servidores que lhes permite executar tarefas como balanceamento de carga, detecção de falhas e compensação de falhas de servidores individuais.
Quando um sistema está usando o cluster de aplicativos, isso significa que ele está usando um aplicativo que foi instalado individualmente em cada um dos servidores para permitir que os servidores manejem a carga do servidor como se fossem um servidor gigante. O aplicativo lida com o trabalho de rotear dados de e para os servidores em cluster. O agrupamento de aplicativos contrasta com o agrupamento de hardware, que usa outra peça de hardware para agrupar servidores. Os tipos de dispositivos de cluster de hardware incluem caixas de rede que permitem que um conjunto de servidores se comunique como um cluster ou um gabinete de cluster que abriga e agrupa fisicamente uma série de servidores. Quando o hardware é usado para agrupar um conjunto de servidores, geralmente ele lida com as mesmas tarefas de dados que um programa de software de agrupamento de aplicativos.
O balanceamento de carga é o processo de distribuição da carga de dados entre os servidores disponíveis. Para servidores que hospedam um site na Internet, o balanceamento de carga ajudaria a determinar qual servidor responde a quais solicitações de tráfego da Web. Os tipos de clusters incluem clusters simétricos e clusters assimétricos. Clusters simétricos são clusters que distribuem a carga uniformemente entre todos os servidores conectados, enquanto clusters assimétricos reservam certos servidores para quando os servidores principais falharem. Como os servidores em cluster simetricamente que recebem uma carga constante podem ter mais chances de falhar quando atingidos por uma carga extra devido à falha de outro servidor, que pode derrubar todo o sistema, os servidores assimétricos oferecem maior proteção contra falhas gerais.
Os benefícios do uso de servidores em cluster incluem maior escalabilidade e proteção contra o tempo de inatividade. Escalabilidade é a capacidade de aumentar ou diminuir um certo tipo de recursos, se o sistema precisar diminuir ou crescer. O clustering de aplicativos torna um sistema de servidor escalável, pois permite que os servidores sejam facilmente adicionados ou removidos do cluster.
Como um cluster de servidores significa que vários servidores são dedicados ao mesmo objetivo, o cluster pode abrigar uma função de servidor mais transparente e sem erros. Isso é essencial para empresas que dependem de vendas feitas em seus sites. Mesmo um breve tempo de inatividade do servidor pode causar grandes perdas financeiras para uma loja online. Quando uma empresa usa um cluster de servidores, a probabilidade de tempo de inatividade diminui significativamente porque geralmente leva a falha de vários servidores para desativar um cluster de servidores.