Come posso bilanciare il carico di un bilanciamento del carico?


11

Sto per convertire un'applicazione Web a singolo database a server singolo in una configurazione ad alta disponibilità distribuita fisicamente con server su due posizioni fisiche (per ora). Ora, ovviamente, ho bisogno di un bilanciamento del carico (più simile a un proxy inverso in questo caso, ma lo chiamerò "bilanciamento del carico" per semplicità), che indirizzerebbe le richieste mywebsiteverso node1.mywebsiteo node2.mywebsite. Tuttavia, suppongo che i server ad alta disponibilità non siano utili se il bilanciamento del carico non funziona. Pertanto, quindi il mio treno di pensieri, avrei effettivamente bisogno di due bilanciatori del carico, uno in ogni posizione. Tuttavia, vorrei comunque un unico punto di accesso esterno, quindi avrei bisogno di un bilanciamento del carico per i bilanciatori del carico, che a sua volta avrebbe bisogno di essere bilanciato tra le posizioni ... questo continua all'infinito.

Quindi cosa c'è che non va nel mio ragionamento? In che modo garantirei l'alta disponibilità dei miei bilanciatori di carico in pratica, supponendo che ciascuna delle posizioni fisiche possa essere scollegata dall'alimentazione per un lungo periodo di tempo?

PS : Sono consapevole del fatto che la mia comprensione della distinzione tra HA e bilanciamento del carico è nella migliore delle ipotesi mediocre. Quello che voglio è un server disponibile anche quando l'alimentazione in una posizione si interrompe. Grazie per la vostra comprensione.


1
Hai studiato il failover IP? Se entrambi i datacenter sono lo stesso provider, dovrebbe essere ragionevolmente semplice
Smudge,

Devi avere i tuoi nodi su reti separate? - Quando si trova sulla stessa LAN, HA è più facile da configurare.
Sandman4,

Qual è il tuo obiettivo principale: vuoi il bilanciamento del carico che significa che vuoi gestire carichi più alti di quelli che sono ok per un singolo server, o vuoi HA che significa che vuoi che il tuo sito funzioni anche se il singolo nodo fallisce?
Sandman4,

Risposte:


4

Non è possibile, motivo per cui il bilanciamento del carico non ha nulla a che fare con la disponibilità .


2

Due sistemi di bilanciamento del carico dovrebbero essere sufficienti. Utilizzerai un solo bilanciamento del carico alla volta. Il nome mywebsite dovrebbe risolversi nel VIP assegnato a uno dei bilanciatori del carico.


è VIP = IP virtuale? Quale parte dell'infrastruttura ospiterebbe il routing VIP, ovvero rilevare che un LB è inattivo e instradare verso l'altro? Se si trova in una delle posizioni, potrebbe anche essere inattivo ...
Nikolai Prokoschenko

Con un VIP le richieste vanno a entrambi gli LB e uno di loro decide di rispondere in base a se pensa che l'altro sia attivo. Ciò suggerirebbe che non sono separati geograficamente, il che è un altro livello di disponibilità.
JamesRyan,

2

Puoi fare HA grossolana e bilanciare con il round robin dns attaccandolo di fronte ai tuoi bilanciatori di carico.


Il round robin eseguirà il bilanciamento del carico, ma per quanto riguarda HA - NO. Fondamentalmente il browser sceglierà uno dei nodi e si atterrà ad esso. Ha il 50% di probabilità di colpirne una buona o una cattiva.
Sandman4

No, non è quello che succede. I browser più moderni prenderanno tutti gli IP incluso quello cattivo e riproveranno in modo trasparente da quelli buoni. Non è infallibile ma funzionerà per la stragrande maggioranza degli utenti.
JamesRyan,

cosa te lo fa pensare ? Lo speravo anche fino a quando non l'ho provato io stesso. Sia Firefox che Chrome proveranno 1-IP per 180 secondi , quindi passeranno all'IP successivo. Una volta che vai alla pagina successiva, inizieranno di nuovo con 1-IP (non responsive) e attenderanno altri 180 secondi e così via. ( serverfault.com/questions/327708/… )
Sandman4

Sì, hai una probabilità del 50% che la prima richiesta scada, ma non appena lo fa o lo aggiorni andrà al buon IP e prenderà ok. Dalla seconda richiesta in poi non ritorna di nuovo al IP cattivo, si attacca a quello buono.
JamesRyan,

Che schifo. Possiamo continuare dicendo "fa" o "non funziona". Provalo e vedi. E facendo clic su aggiorna non cambia nulla (almeno in Chrome): attendi 180 secondi anche se fai clic su Interrompi e apri di nuovo la pagina.
Sandman4
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.