Che cos'è il clustering delle applicazioni?
Nell'informatica, un cluster è un gruppo di macchine, generalmente computer o server, dedicato a una singola attività. La pratica di raggruppare i server in questo modo si chiama clustering di server. Il clustering di applicazioni è il clustering di server che utilizza un programma software per configurare i server in cluster. Il programma software crea una connessione tra i server che consente loro di eseguire attività come il bilanciamento del carico, il rilevamento degli errori e la compensazione degli errori dei singoli server.
Quando un sistema utilizza il clustering delle applicazioni, ciò significa che sta utilizzando un'applicazione che è stata installata individualmente in ciascuno dei server per consentire ai server di gestire il carico del server come se fossero un server gigante. L'applicazione gestisce il lavoro di routing dei dati da e verso i server del cluster. Il clustering dell'applicazione è in contrasto con il clustering hardware, che utilizza un altro componente hardware per i server cluster. I tipi di dispositivi di clustering hardware includono box di rete che consentono a un set di server di comunicare come un cluster o un cabinet del cluster che ospita e raggruppa fisicamente una serie di server. Quando l'hardware viene utilizzato per raggruppare un set di server, in genere gestisce le stesse attività di dati di un programma software di clustering di applicazioni.
Il bilanciamento del carico è il processo di distribuzione del carico di dati tra i server disponibili. Per i server che ospitano un sito Web su Internet, il bilanciamento del carico consentirebbe di determinare quale server risponde a quali richieste di traffico Web. I tipi di cluster includono cluster simmetrici e cluster asimmetrici. I cluster simmetrici sono cluster che distribuiscono il carico in modo uniforme tra tutti i server collegati, mentre i cluster asimmetrici riservano determinati server per i guasti dei server principali. Poiché i server con cluster simmetrici che ricevono un carico costante possono avere maggiori probabilità di fallire quando vengono colpiti da un carico aggiuntivo a causa del fallimento di un altro server, che può arrestare l'intero sistema, i server asimmetrici offrono una maggiore protezione contro i guasti generali.
I vantaggi dell'utilizzo di server cluster comprendono una maggiore scalabilità e protezione dai tempi di inattività. La scalabilità è la capacità di aumentare o diminuire un determinato tipo di risorse se il sistema deve restringersi o crescere. Il clustering dell'applicazione rende scalabile un sistema server perché consente di aggiungere o rimuovere facilmente i server dal cluster.
Poiché un cluster di server significa che più server sono dedicati allo stesso scopo, il clustering può ospitare funzioni server più fluide e prive di errori. Ciò è essenziale per le aziende che dipendono dalle vendite effettuate attraverso i loro siti Web. Anche brevi tempi di inattività del server possono causare gravi perdite finanziarie per un negozio online. Quando un'azienda utilizza un cluster di server, la probabilità di downtime diminuisce in modo significativo perché in genere è necessario il fallimento di più server per eliminare un cluster di server.