Home topics Bilanciamento del carico Che cos'è il bilanciamento del carico?
Esplora IBM Instana
Illustrazione grafica del bilanciamento del carico

Il bilanciamento del carico è il processo di distribuzione efficiente del traffico di rete tra più server per ottimizzare la disponibilità delle applicazioni e garantire un'esperienza positiva agli utenti finali.

Poiché i siti Web ad alto traffico e le applicazioni di cloud computing ricevono milioni di richieste di utenti ogni giorno, il bilanciamento del carico è una capacità essenziale per la fornitura di applicazioni moderne. Ad esempio, i siti di e-commerce si affidano al bilanciamento del carico per garantire che le applicazioni Web siano in grado di fornire dati, immagini, video e prezzi dai server Web agli utenti senza ritardi o tempi di inattività.

Fai un tour

IBM Instana Observability offre a tutti, in tutta l'azienda, un accesso di facile utilizzo ai dati desiderati con il contesto necessario per fornire una rapida prevenzione e correzione dei problemi.

Contenuti correlati

Iscriviti alla newsletter IBM

Come funziona il bilanciamento del carico

Il bilanciamento del carico può essere implementato in due modi. I bilanciatori del carico hardware sono dispositivi fisici installati e gestiti on-premises. I bilanciatori del carico software sono applicazioni installate su server di proprietà privata o fornite come servizio cloud gestito (bilanciamento del carico cloud).

In entrambi i casi, i bilanciatori di carico lavorano mediando in tempo reale le richieste dei clienti in arrivo e determinando quali server di backend sono in grado di elaborare al meglio tali richieste. Per evitare che un singolo server venga sovraccaricato, il sistema di bilanciamento del carico instrada le richieste ad alcuni server disponibili in sede o ospitati in farm di server o data center cloud.

Dopo che il server assegnato riceve la richiesta, risponde al client tramite il bilanciamento del carico. Il bilanciamento del carico completa quindi la connessione server-to-client abbinando l'indirizzo IP del client a quello del server selezionato. Il client e il server sono quindi in grado di comunicare ed eseguire le attività richieste fino al completamento della sessione.

Se si verifica un picco del traffico di rete, un sistema di bilanciamento del carico può portare online ulteriori server per tenere il passo con la domanda. Oppure, se si verifica una pausa dell'attività della rete, il sistema di bilanciamento del carico può ridurre il pool di server disponibili. Può anche contribuire al caching di rete instradando il traffico verso i server di cache, dove vengono temporaneamente memorizzate le richieste precedenti dell'utente.

Vantaggi del bilanciamento del carico
Disponibilità

I servizi di bilanciamento del carico eseguono controlli di integrità sui server prima di instradare le richieste a tali server. Se un server sta per guastarsi o è offline per manutenzione o aggiornamenti, il bilanciamento del carico di lavoro reindirizza automaticamente il carico di lavoro a un server funzionante per evitare interruzioni del servizio e mantenere un'elevata disponibilità. 

Scalabilità

Il bilanciamento del carico consente un'infrastruttura on demand ad alte prestazioni in grado di gestire i carichi di traffico di rete più pesanti o più leggeri. I server fisici o virtuali possono essere aggiunti o rimossi in base alle esigenze, rendendo la scalabilità semplice e automatizzata.

Protezione

Il bilanciamento del carico può includere funzioni di sicurezza quali la crittografia SSL, i firewall delle applicazioni Web (WAF) e l'autenticazione a più fattori (MFA). Possono anche essere integrati negli application delivery controller (ADC) per migliorare la sicurezza delle applicazioni. Indirizzando o scaricando in modo sicuro il traffico di rete, il bilanciamento del carico può aiutare a difendersi dai rischi per la sicurezza quali attacchi DDoS (Distributed Denial-of-service).

Algoritmi di bilanciamento del carico

Il metodo di instradamento di una richiesta a un server specifico è definito da un algoritmo di bilanciamento del carico. Gli algoritmi di bilanciamento del carico offrono diverse capacità e vantaggi per soddisfare diversi casi d'uso.

Round robin
Questo algoritmo utilizza il sistema dei nomi di dominio (DNS) per assegnare sequenzialmente le richieste a ciascun server in una rotazione continua. È il metodo di bilanciamento del carico più semplice, poiché utilizza solo il nome di ciascun server per determinare quale riceverà la prossima richiesta in arrivo.

Round robin di peso maggiore
Oltre al nome DNS, a ciascun server in questo algoritmo viene assegnato anche un "peso". Il peso determina quali server devono avere priorità rispetto ad altri per gestire le richieste in arrivo. Un amministratore decide come ciascun server sarà ponderato in base alla sua capacità e alle esigenze della rete.

Hash IP
In questo algoritmo, un calcolo semplifica (o trasforma in hash) l'indirizzo IP della richiesta in ingresso in un valore più piccolo, la chiave di hash. Questa chiave di hash univoca (che rappresenta l'indirizzo IP dell'utente) viene quindi utilizzata come base per decidere come instradare la richiesta a un server specifico.

Minimo di connessioni
Come indica il nome, questo algoritmo assegna priorità al server con il minor numero di connessioni attive quando si riceve una nuova richiesta del client. Questo metodo aiuta a prevenire il sovraccarico dei server con le connessioni e a mantenere sempre un carico coerente tra i server.

Minor tempo di risposta
Questo algoritmo combina il metodo di connessione minimo con il tempo medio di risposta del server più breve. Vengono valutati sia il numero di connessioni che il tempo necessario a un server per eseguire le richieste e inviare una risposta. Il server più veloce con il minor numero di connessioni attive riceverà la richiesta in ingresso.

Tipi di bilanciamento del carico

Sebbene lo scopo principale di un servizio di bilanciamento del carico sia distribuire il traffico, esistono diversi tipi di servizi di bilanciamento del carico che svolgono funzioni specifiche.

Bilanciatori del carico di rete
I bilanciatori del carico di rete ottimizzano il traffico e riducono la latenza su reti locali e Wide Area Network. Utilizzano informazioni di rete come indirizzi IP e porte di destinazione, insieme ai protocolli TCP e UDP, per instradare il traffico di rete e fornire una velocità effettiva sufficiente per soddisfare la richiesta degli utenti.

Bilanciatori del carico dell'applicazione
Questi bilanciatori del carico utilizzano contenuti dell'applicazione come URL, sessioni SSL e intestazioni HTTP per instradare il traffico delle richieste API. Poiché esistono funzioni duplicate su più server di applicazioni, esaminare i contenuti a livello di applicazione aiuta a determinare quali server possono soddisfare richieste specifiche in modo rapido e affidabile.

Bilanciatori di carico virtuali
Con l'avvento della virtualizzazione e della tecnologia VMware, i bilanciatori di carico virtuali vengono ora utilizzati per ottimizzare il traffico tra server, macchine virtuali e container. Gli strumenti di orchestrazione del container open source come Kubernetes offrono funzionalità di bilanciamento del carico virtuale per instradare le richieste tra nodi dai contenitori in un cluster.

Bilanciatori del carico per server globali
Questo tipo di bilanciatori del carico indirizzano il traffico verso i server in più posizioni geografiche per garantire la disponibilità delle applicazioni. Le richieste degli utenti possono essere assegnate al server disponibile più vicino o, in caso di errore del server, a un'altra posizione con un server disponibile. Questa capacità di failover rende il bilanciamento del carico globale del server una componente preziosa del disaster recovery.

Soluzioni correlate
IBM Cloud Load Balancer

Gli IBM Cloud Load Balancer consentono di bilanciare il traffico tra i server per migliorare i tempi di attività e le prestazioni.

Esplora gli IBM Cloud Load Balancer
IBM Instana

Scopri la piattaforma di osservabilità aziendale leader per cloud ibridi. Migliora la gestione delle prestazioni delle applicazioni e accelera le pipeline CI/CD indipendentemente dall'ubicazione delle applicazioni.

Esplora IBM Instana
IBM Turbonomic

Abbina in maniera costante e precisa la domanda delle applicazioni alle risorse cloud in tempo reale e mantieni la fiducia nell'allocazione dei costi.

Esplora IBM Turbonomic
Risorse di bilanciamento del carico Cos'è il cloud computing?

Scopri come il cloud computing trasforma l'infrastruttura IT in un servizio di pubblica utilità, permettendoti di "collegarti" alle risorse e alle applicazioni di elaborazione tramite Internet.

Che cos'è Kubernetes?

Scopri come la piattaforma di orchestrazione dei container open source Kubernetes automatizza la distribuzione, la gestione e la scalabilità delle applicazioni containerizzate.

Fai il passo successivo

IBM Instana consente osservabilità in tempo reale che tutti, e chiunque, possono utilizzare. Offre un rapido time-to-value, garantendo al contempo che la strategia di osservabilità possa tenere il passo con la complessità dinamica degli ambienti di oggi e di domani. Dal mobile al mainframe, Instana supporta oltre 250 tecnologie ed è in continua crescita.

Esplora IBM Instana Avvia la versione di prova gratuita