Qual è la differenza tra bilanciamento del carico e cambio di contenuto

Pubblicato da Zevenet | 6 April, 2022 | Tecnici

C'è una differenza tra il concetto di bilanciamento del carico e cambio di contenuto nelle applicazioni web? I sistemi di bilanciamento del carico distribuiscono le richieste su più server per gestire più traffico di quanto un server potrebbe da solo.

Ti consente di ridimensionare le tue applicazioni Web senza aggiungere hardware o software aggiuntivo. Inoltre, il bilanciamento del carico consente di utilizzare meno risorse di quanto sarebbe altrimenti necessario se tutte le richieste in ingresso fossero gestite da un solo server.

Il cambio di contenuto, d'altra parte, si riferisce al reindirizzamento degli utenti da una pagina all'altra quando il server corrente non può soddisfare la loro richiesta. In questo articolo tratteremo la differenza tra i due concetti.

Panoramica del bilanciamento del carico

Un servizio di bilanciamento del carico distribuisce le richieste in arrivo tra diversi server. Non decide quale server deve rispondere a una richiesta particolare. Invece, inoltra semplicemente la richiesta a un server disponibile. Un servizio di bilanciamento del carico utilizza in genere la pianificazione round-robin, in cui ogni volta che arriva una nuova richiesta, invia la richiesta al server successivo disponibile.

Il servizio di bilanciamento del carico deve sapere quale indirizzo IP inviare la richiesta per ottenere questa funzionalità. Pertanto, il servizio di bilanciamento del carico deve avere accesso alle informazioni di configurazione.

Ad esempio, un sistema di bilanciamento del carico potrebbe dover conoscere il nome della macchina che ospita l'applicazione Web, il suo indirizzo IP, il numero di porta, ecc.

I sistemi di bilanciamento del carico forniscono anche altre funzionalità come terminazione SSL, memorizzazione nella cache, monitoraggio, failover e così via. Queste funzionalità sono descritte in dettaglio più avanti nell'articolo.

Tipi di bilanciamento del carico

Esistono tre tipi di bilanciamento del carico utilizzati oggi: Round Robin (RR), Weighted Random (WR) e Least Connections (LC). Round Robin (RR):

Questo tipo di bilanciamento del carico funziona come un sistema telefonico rotativo. Quando una chiamata arriva allo switch, passa attraverso le connessioni fino a raggiungere la destinazione. Ogni connessione ha un certo peso ad essa associato.

Se non sono rimaste connessioni libere, la chiamata viene interrotta. Con RR i pesi assegnati alle diverse connessioni variano nel tempo. Di conseguenza, le chiamate vengono distribuite uniformemente tra i server disponibili.

Weighted Random (WR): assegna una percentuale fissa della larghezza di banda totale a ciascun server. Quindi, se sono presenti 10 server e viene allocato il 5% della larghezza di banda totale, ogni server ottiene il 5% della capacità totale. Significa che il primo server riceverà il 50% della capacità, il secondo server il 25%, ecc. Least Connections (LC):

Con LC, il sistema di bilanciamento del carico invia solo le richieste al server meno occupato. Se tutti i server sono ugualmente occupati, il sistema di bilanciamento del carico sceglierà sempre il server meno caricato.

Il vantaggio principale di WR è che fornisce prestazioni migliori perché non richiede alcuna impostazione speciale sui server. Tuttavia, richiede più memoria e cicli della CPU rispetto a RR. Lo svantaggio principale di WR è che può causare problemi se i carichi di lavoro sui server cambiano in modo significativo.

Panoramica sul cambio di contenuto

Quando un utente richiede un URL specifico, si aspetta di vedere il contenuto in quella posizione. Ma a volte, a causa di problemi di rete, la richiesta potrebbe non raggiungere il server che ospita la risorsa richiesta.

In questi casi, l'utente riceve un messaggio che informa che la pagina non è stata trovata o che il server è temporaneamente non disponibile. Si chiama errore "404 non trovato". Per evitare questo problema, puoi utilizzare una tecnica chiamata "Commutazione dei contenuti". Con il cambio di contenuto, quando una richiesta per una risorsa specifica ha esito negativo, il servizio di bilanciamento del carico reindirizza la richiesta del client a un altro server che ospita la stessa risorsa. In questo modo, l'utente non vede mai 404 errori.

Il tuo sistema di bilanciamento del carico deve comprendere come eseguire il reindirizzamento per implementare il cambio di contenuto. Lo fa utilizzando un codice di risposta HTTP chiamato 302. Una risposta 302 dice al browser di effettuare una nuova richiesta in una posizione diversa.

Inoltre, il servizio di bilanciamento del carico dovrebbe essere in grado di determinare quali risorse sono ospitate su quali server. Per fare ciò, utilizza una funzionalità chiamata DNS Name Server (DNS NS). DNS NS traduce i nomi host in indirizzi IP. Il sistema di bilanciamento del carico deve accedere alle informazioni sulla configurazione DNS del sito Web per ottenere il cambio di contenuto. Ad esempio, deve sapere dove si trova il server dei nomi DNS e il suo indirizzo IP.

Viene eseguito configurando il sistema di bilanciamento del carico come server di inoltro DNS. Configurare il server di inoltro DNS per inviare query al server dei nomi DNS appropriato.

Una volta che il server di inoltro DNS sa dove risiede il server dei nomi DNS, inoltra la query al server. Dopo aver ricevuto la risposta dal server dei nomi DNS, il sistema di bilanciamento del carico restituisce l'indirizzo IP del server che ospita la risorsa richiesta.

È importante notare che i server virtuali non supportano il cambio di contenuto. Restituiscono un codice di stato 404.

Un server virtuale è una rappresentazione logica di un server fisico. Ogni server virtuale ha il proprio indirizzo IP e numero di porta. I server virtuali vengono utilizzati per fornire la tolleranza agli errori. Quando un server virtuale si interrompe, il traffico ad esso indirizzato viene reindirizzato a un altro server fisico.

La differenza tra bilanciamento del carico e cambio di contenuto

In Bilanciamento del carico, tutte le richieste seguono lo stesso percorso. Quindi ci sarà sempre una sola copia dei dati nella cache. Se il primo server viene sovraccaricato, gli altri server ottengono meno lavoro. In Cambio di contenuto, ogni richiesta va a un percorso separato. Quindi ci saranno più copie dei dati nelle cache. E se il primo server si sovraccarica, gli altri server hanno più lavoro da fare.

In Bilanciamento del carico, il servizio di bilanciamento del carico tiene traccia dell'integrità di ciascun server. Se un server smette di rispondere, avverte il sistema di bilanciamento del carico. Il servizio di bilanciamento del carico rimuove quindi quel server dal servizio. Nel cambio di contenuto, i sistemi di bilanciamento del carico tengono traccia dello stato dei server. Ma non inviano avvisi ai clienti. Invece, reindirizzano le richieste ad altri server.

In Bilanciamento del carico, se un server si arresta in modo anomalo, il servizio di bilanciamento del carico invia un messaggio al client che la sua richiesta non è riuscita. In Cambio di contenuto, se un server si arresta in modo anomalo, il servizio di bilanciamento del carico non dice nulla al client.

In Bilanciamento del carico, quando un server esegue il backup, il sistema di bilanciamento del carico cerca di capire il motivo per cui si è bloccato. Quindi può decidere se rimetterlo online o meno. Nel cambio di contenuto, i bilanciatori di carico presuppongono che tutto vada bene quando viene attivato un server. Non è necessario che controlli il motivo per cui è tornato su. Inizia semplicemente a inviargli nuove richieste.

In Bilanciamento del carico, puoi impostare quante volte il client riceve un errore prima che rinunci a cercare di raggiungere il tuo sito web. Nel cambio di contenuto, non puoi controllare quanto tempo attende il cliente prima di rinunciare a raggiungere il tuo sito web.

In Bilanciamento del carico, un singolo errore del server può causare problemi con alcune applicazioni. Un buon esempio potrebbe essere un'applicazione per il carrello degli acquisti. Se un utente inserisce un articolo nel carrello ma poi esce senza effettuare il check-out, l'ordine non viene completato.
Nel cambio di contenuto, un singolo errore del server non influirà su nessuna applicazione.

Conclusione

Il bilanciamento del carico è migliore del cambio di contenuto perché ha meno limitazioni e offre prestazioni migliori. I programmi complessivi sono molto simili, tranne per il fatto che il sistema di bilanciamento del carico gestirà tutte le connessioni mentre il commutatore di contenuto gestirà solo le connessioni provenienti dallo stesso indirizzo IP. Tuttavia, entrambi hanno vantaggi e svantaggi. È importante sapere cosa sono prima di usarli.

GRAZIE A:

Geri Mileva

CONDIVIDERE SU:

Blog correlati

Inserito da zenweb | 02 agosto 2022
7 motivi ZEVENET è il miglior software di bilanciamento del carico nel 2022 La soluzione di bilanciamento del carico non è più quella di una volta. Con il miglioramento della tecnologia, anche le minacce...
38 PiaceCommenti disabilitati su 7 motivi ZEVENET è il miglior software di bilanciamento del carico nel 2022
Inserito da zenweb | 20 luglio 2022
Un centro operativo di rete (NOC) è una posizione centrale in cui i team IT di un'organizzazione monitorano le prestazioni di una rete. Il NOC fornisce server, database, spazio su disco rigido e...
44 PiaceCommenti disabilitati su Network Operations Center, Definizione e Top 4 Best Practices
Inserito da zenweb | 11 luglio 2022
Introduzione Il processo di raggiungimento e mantenimento della conformità PCI DSS non è facile per nessuna organizzazione. Che si tratti di un'organizzazione su larga scala, di una società di medie dimensioni o di una piccola azienda, PCI DSS può...
42 PiaceCommenti disabilitati su Quali preparativi sono necessari per la conformità PCI DSS?