|
|
Pubblicato su 14/06/2020 11:50:26
|
|
|
|

Uso il bilanciamento del carico di Alibaba Cloud da più di 6 anni, e uso nginx da più di 6 anni.
Il bilanciamento del carico si basa sulle strutture di rete esistenti e offre un modo economico, efficace e trasparente per scalare apparecchiature di rete e larghezza di banda dei server, aumentare la produttività, migliorare le capacità di elaborazione dati di rete e migliorare la flessibilità e la disponibilità della rete. Il bilanciamento del carico significa che viene distribuito a più unità operative, come server web, server FTP, server applicativi critici per l'azienda e altri server mission-critiche, al fine di completare congiuntamente compiti di lavoro. In parole povere, distribuisce più richieste a server diversi nel backend per ridurre la pressione su ciascun server e ottenere un'alta disponibilità; anche se un server si blocca, non ha alcun impatto.
Innanzitutto
Ho installato node.js nativamente e installato un server http per emulare due container web. (Usa IIS, oppure implementa il protocollo HTTP con il tuo codice)
Dopo aver installato node.js, esegui il seguente comando:
Simula due siti backend
Ho creato due nuove cartelle, site1 e site2, sotto la directory E:\wwwroot, ciascuna con un file index.html al suo interno.
I contenuti sono: indice 1 by:itsvse.com e indice 2 by:itsvse.com
Poi, ascolta le due porte HTTP con il seguente comando per aprire i due siti.
Prova ad accedere a entrambe le stazioni separatamente:Il login del link ipertestuale è visibile. Il login del link ipertestuale è visibile.Le rappresentazioni sono le seguenti:
Configurazione di bilanciamento del carico NGINX
Scarica la versione Windows di nginx al seguente indirizzo:Il login del link ipertestuale è visibile.
Una volta scaricato, estrarlo nella directory E:\wwwroot\nginx-1.18.0. Modifica il file E:\wwwroot\nginx-1.18.0\conf\nginx.conf come segue:
Avvia il programma nginx con il seguente comando:
nginx -s stop quick shutdown nginx -s ha lasciato lo spegnimento elegante Ricarica Nginx -S modifica configurazione, avvio di nuovi processi worker con una nuova configurazione, spegnimento elegante dei vecchi processi worker nginx -s riapri riaprire i file di log Accesso al sito di bilanciamento del carico nginx tramite un browser:Il login del link ipertestuale è visibile.
Aggiorniamo e rivisitiamo molte volte, e scopriamo che il contenuto restituito è diverso ogni volta, e puoi vedere che nginx distribuisce richieste diverse a diversi servizi http nel backend,Cercando di fermare il sito site1, vediamo che non influisce sul nostro accesso normale e nginx inoltra tutte le richieste al sito site2。
Stato della configurazione del bilanciamento del carico Nginx
| stato | Panoramica | | Giù | Il server attuale non partecipa al bilanciamento del carico per il momento | | Backup | I server di backup riservati sono abilitati quando tutti gli altri server sono bloccati | | max_fails | Il numero di richieste fallite consentite, se il numero di richieste fallite supera il limite, interrompe il server dal pool di servizi virtuali dopo fail_timeout tempo | | fail_timeout | Dopo un fallimento max_fails, il servizio mette in pausa il tempo max_fails il valore fail_timeout deve essere impostato | | max_conns | Limitare il numero massimo di connessioni per diverse configurazioni hardware server |
Politica di pianificazione di bilanciamento del carico Nginx
| Algoritmi di programmazione | Panoramica | | Pollot | Interroga uno per uno, il metodo predefinito | | Peso | Sondaggi ponderati, più alto è il peso, maggiore è la probabilità di distribuzione | | ip_hash | L'allocazione degli hash risultati dall'accesso all'IP farà sì che richieste dallo stesso indirizzo IP accedano a un server in background fisso | | url_hash | Assegna in base al risultato dell'hash dell'URL visitato | | least_conn | Il numero minimo di link sarà assegnato al server con meno link | | Valore della chiave hash | Chiave personalizzata hash |
Per maggiori informazioni sulle configurazioni nginx, vedi:Il login del link ipertestuale è visibile.
|
Precedente:Scissione logaritmica di Nginx e cancellazioneProssimo:Il concetto e la differenza tra ITO, BPO, KPO e i tre
|