|
|
Geplaatst op 14-06-2020 11:50:26
|
|
|
|

Ik gebruik al meer dan 6 jaar de load balancing van Alibaba Cloud, en ik gebruik nginx al meer dan 6 jaar.
Load balancing bouwt voort op bestaande netwerkstructuren en biedt een goedkope, effectieve en transparante manier om netwerkapparatuur en serverbandbreedte op te schalen, de doorvoersnelheid te verhogen, de netwerkgegevensverwerking te verbeteren en de flexibiliteit en beschikbaarheid van netwerken te vergroten. Load balance betekent dat het wordt verdeeld over meerdere operationele eenheden, zoals webservers, FTP-servers, enterprise kritieke applicatieservers en andere missiekritische servers, om gezamenlijk werktaken uit te voeren. Simpel gezegd verdeelt het meerdere verzoeken naar verschillende servers aan de backend om de druk op elke server te verminderen en hoge beschikbaarheid te bereiken; zelfs als één server ophangt, heeft dat geen effect.
Allereerst
Ik heb node.js native geïnstalleerd en de http-server geïnstalleerd om twee webcontainers te emuleren. (Gebruik IIS, of implementeer het HTTP-protocol met je eigen code)
Na het installeren van node.js voer je het volgende commando uit:
Simuleer twee backend-locaties
Ik heb twee nieuwe mappen aangemaakt, site1 en site2, onder de E:\wwwroot-map, elk met een index.html-bestand erin.
De inhoud is: index 1 by:itsvse.com en index 2 by:itsvse.com
Luister vervolgens naar de twee HTTP-poorten met het volgende commando om de twee sites te openen.
Probeer beide stations apart te benaderen:De hyperlink-login is zichtbaar. De hyperlink-login is zichtbaar.De renderings zijn als volgt:
NGINX load balancing-configuratie
Download de Windows-versie van nginx op het volgende adres:De hyperlink-login is zichtbaar.
Na het downloaden pak je het uit naar de map E:\wwwroot\nginx-1.18.0. Pas het bestand E:\wwwroot\nginx-1.18.0\conf\nginx.conf als volgt aan:
Start het nginx-programma met het volgende commando:
nginx-s stop snelle afsluiting nginx -s stopt gracieuze afsluiting nginx -s herladen wijzigen van configuratie, nieuwe workerprocessen starten met een nieuwe configuratie, elegante afsluiting van oude workerprocessen nginx -s heropenen logbestanden heropenen Toegang krijgen tot de nginx load balancing-site via een browser:De hyperlink-login is zichtbaar.
We verversen en bekijken het vele malen, en merken dat de teruggegeven inhoud elke keer anders is, en je ziet dat nginx verschillende verzoeken naar verschillende http-diensten op de backend verspreidt.Als we proberen de site1-site te stoppen, zien we dat dit onze normale toegang niet beïnvloedt, en nginx stuurt alle verzoeken door naar de site2-site。
Nginx load balancing configuratiestatus
| staat | Overzicht | | Omlaag | De huidige server neemt voorlopig niet deel aan load balancing | | Backup | Gereserveerde back-upservers worden ingeschakeld wanneer alle andere servers zijn opgehangen | | max_fails | Het aantal toegestane mislukte verzoeken, als het aantal mislukte verzoeken de limiet overschrijdt, wordt de server na fail_timeout tijd uitgeschakeld uit de virtuele servicepool | | fail_timeout | Na een max_fails storing pauzeert de service de tijd, max_fails moet de fail_timeout waarde worden ingesteld | | max_conns | Beperk het maximale aantal verbindingen voor verschillende serverhardwareconfiguraties |
Nginx load balancing-planningsbeleid
| Planningsalgoritmen | Overzicht | | Pollot | Poll één voor één, de standaardmethode | | Gewicht | Gewogen peiling: hoe hoger het gewicht, hoe groter de kans op verdeling | | ip_hash | De toewijzing van hashresultaten van het toegangs-IP zorgt ervoor dat verzoeken van hetzelfde IP-adres toegang krijgen tot een vaste achtergrondserver | | url_hash | Wijs toe op basis van het hashresultaat van de bezochte URL | | least_conn | Het minimale aantal links, de server met minder links wordt toegewezen | | hashsleutelwaarde | Hash aangepaste sleutel |
Voor meer informatie over nginx-configuraties, zie:De hyperlink-login is zichtbaar.
|
Vorig:Nginx log splitsing en verwijderingVolgend:Het concept en het verschil tussen ITO, BPO, KPO en de drie
|