Colli di bottiglia, nginx come bilanciamento del carico

3

Perché nginx può impedirsi di essere un collo di bottiglia quando funge da bilanciamento del carico. Se diventa il collo di bottiglia a punto singolo in alcune condizioni, esiste una soluzione ad eccezione del bilanciamento del carico hardware?

    
posta upton 04.03.2015 - 20:17
fonte

1 risposta

5

Quando si utilizza un bilanciamento del carico software o un caching proxy, il bilanciamento del carico o il caching proxy sono un collo di bottiglia, ma è un collo di bottiglia molto più ampio di prima.

Supponiamo di avere un server applicazioni che può gestire solo 50 richieste al secondo, poiché deve interrogare il database e fare tutti i tipi di cose costose. Come possiamo ridimensionare?

Se aggiungiamo un secondo server delle applicazioni, ciò non sarà di aiuto. Abbiamo bisogno di un sistema di bilanciamento del carico che distribuisca il carico tra questi server applicativi. Dato che il bilanciamento del carico stesso non fa altro che passare attraverso le connessioni, supponiamo che possa gestire 1000 richieste al secondo, ovvero 20 volte tanto, e la mia capacità effettiva è di 2 · 50 = 100 richieste al secondo poiché ho due server applicazioni. Ora posso aggiungere altri server di applicazioni in caso di necessità.

Nella maggior parte dei casi, questo è assolutamente sufficiente, ed è improbabile che si spinga il bilanciamento del carico ai suoi limiti. Se si desidera scalare oltre questo bilanciamento del carico, non è possibile aggiungere un altro bilanciamento del carico del software di fronte al bilanciamento del carico esistente e sarà necessario rinforzare l'hardware (o passare a un sistema di bilanciamento con prestazioni migliori).

Se si supera la capacità di un singolo bilanciatore del carico (ad esempio quando si raggiungono i milioni di utenti giornalieri) e se è necessario mantenere i server in più posizioni geografiche, è possibile utilizzare un server DNS che risolve il proprio nome di dominio a diversi indirizzi IP. Le reti di Content Delivery utilizzano questa tecnica per distribuire il carico attraverso un numero elevato di proxy distribuiti. Invece di seguire questa strada da soli, sarà molto più facile mettere i tuoi server dietro un CDN commerciale esistente che gestisca tutto ciò che per te.

    
risposta data 04.03.2015 - 20:55
fonte

Leggi altre domande sui tag