Tutte le posizioni attive · 99.99% uptime
Confronto

Differenza tra reverse proxy e load balancer

In pratica lo stesso software (Nginx, HAProxy, Traefik) può svolgere entrambi i compiti. Per questo i due termini vengono spesso confusi. Ma concettualmente risolvono problemi diversi: il reverse proxy è un intermediario, il load balancer è un distributore.

Differenza concettuale

FIGURAConfronto tra i due concetti
CONFRONTOReverse proxyLoad balancerCompito principaleRicevere le richieste e i…Distribuire il caricoQuanti server dietroUno o moltiSempre moltiFunzioni aggiuntive tipicheTerminazione TLS, cache…Health check, sticky se…Livello di funzionamentoIn genere 7 (HTTP)4 o 7Ha senso con un solo serverNo

Ogni load balancer può essere una forma di reverse proxy, ma non ogni reverse proxy è un load balancer. Un Nginx davanti a un singolo server non bilancia il carico, ma svolge la funzione di reverse proxy.

Distinzione tra livello 4 e livello 7

FIGURASu quale livello avviene il bilanciamento?
LIVELLO7ApplicazioneHTTP / HTTPSDecisione in base a URL, header e cookie4TrasportoTCP / UDPDecisione solo in base a IP e porta3ReteIPInstradamento

Il bilanciamento di livello 7 legge il contenuto: può dire "manda le richieste /api a questo server e le richieste /statik a quest'altro". Il livello 4 invece è più veloce ma ignora il contenuto.

Algoritmi di distribuzione del carico

FIGURAStrategie di distribuzione più comuni
ALGORITMORichieste in arrivomigliaia al secondoRound-robindistribuisce a turno — il più semplice%27Least connectionsbilancia davvero il carico%33IP hashstesso client sullo stesso server%20Ponderatopiù traffico al server più potente%20

L'IP hash si usa nelle applicazioni che richiedono sticky session: lo stesso utente va sempre sullo stesso server, così i dati di sessione non devono essere condivisi.

Architettura tipica

Nei sistemi reali i due lavorano insieme. I livelli si dispongono così:

LivelloComponenteFunzione
1DNS / AnycastIndirizza l'utente alla regione più vicina
2CDNServe i contenuti statici dall'edge
3Load balancer (L4)Distribuisce il traffico all'interno della regione
4Reverse proxy (L7)Termina il TLS, applica le regole di instradamento
5Server applicativiSvolgono il lavoro vero e proprio
Dov'è il forward proxy?

In questa architettura non c'è alcun forward proxy — perché si trova all'altro capo della catena, dell'utente dal lato. La distinzione nel nostro articolo su forward e reverse proxy nel dettaglio.

Health check

È il punto in cui il load balancer si distingue più nettamente dal reverse proxy: monitora costantemente la salute dei server dietro di sé ed estrae dal pool quelli guasti.

FIGURAStati del server di backend
SALUTESANO3 controlli fallitiriceve trafficoSOSPETTOl'errore persistetraffico ridottoDISATTIVATO2 controlli riuscititraffico interrottoREINSERITOtraffico gradualeIl reinserimento deve essere graduale — un carico pieno improvviso può far cadere di nuovo il server

Questa logica è identica a quella della gestione di un pool di proxy. Nel nostro articolo sui pool abbiamo descritto l'equivalente lato client dello stesso pattern.

Perché è importante nella raccolta dati?

Il load balancer del sito target può distribuire le tue richieste su server diversi. Questo può portare a risultati incoerenti:

  • Versioni diverse: durante un rollout graduale alcuni server possono eseguire la nuova versione.
  • Perdita di sessione: senza sticky session, i tuoi cookie possono non essere riconosciuti su un altro server.
  • Tempo di risposta variabile: possono esserci differenze di prestazioni tra i server.
  • Test A/B: richieste diverse possono vedere varianti diverse.

Per ridurre queste incoerenze aiuta usare sessioni sticky e inviare richieste consecutive dallo stesso IP.

Riepilogo

Il reverse proxy è un intermediario che riceve e inoltra le richieste; il load balancer è invece un componente che distribuisce quelle richieste su più server e ne monitora la salute. Lo stesso software può ricoprire entrambi i ruoli, ed è per questo che i termini si confondono. Il bilanciamento di livello 4 è veloce ma ignora il contenuto, quello di livello 7 è consapevole del contenuto ma più costoso. Durante la raccolta dati questi livelli del target possono essere la causa nascosta di risultati incoerenti e di sessioni interrotte.

Domande frequenti

01Reverse proxy e load balancer sono la stessa cosa?

No, ma si sovrappongono. Il reverse proxy riceve le richieste e le inoltra; il load balancer le distribuisce su più server e ne monitora lo stato di salute. Lo stesso software può ricoprire entrambi i ruoli.

02È meglio il livello 4 o il livello 7?

Dipende. Il livello 4 è più veloce e consuma meno risorse; il livello 7 è molto più flessibile perché può decidere in base a URL, header e cookie.

03Dove si colloca il forward proxy in questa architettura?

In nessun punto: sta all'altro capo della catena. Il forward proxy si trova dal lato dell'utente e ne gestisce l'identità; reverse proxy e load balancer stanno dal lato server.

04Perché ottengo risultati incoerenti durante la raccolta dati?

È possibile che il load balancer del target stia distribuendo le tue richieste su server diversi. Rollout graduali, test A/B e l'assenza di sticky session producono questa incoerenza.

05Come si ottiene la sticky session?

Lato server si usa l'IP hash o una sticky session basata su cookie. Lato client aiuta inviare richieste consecutive dallo stesso IP di uscita (sessione sticky proxy).

Articoli e pagine correlati

PROSSIMO PASSO

Potenzia oggi la tua infrastruttura proxy.

Inizia in pochi minuti con i pacchetti a pagamento oppure prova prima il nostro elenco di proxy gratuiti.

FREEPROXY.TR

Se cerchi proxy gratuiti, sei nel posto giusto

Una piattaforma proxy completa dove consultare indirizzi proxy gratuiti aggiornati, confrontare i tipi di proxy HTTP e SOCKS e verificare le tue connessioni proxy con strumenti gratuiti.