|
|
Publisert på 14.06.2020 11:50:26
|
|
|
|

Jeg har brukt Alibaba Clouds lastbalansering i mer enn 6 år, og jeg har brukt nginx i mer enn 6 år.
Lastbalansering bygger på eksisterende nettverksstrukturer og gir en rimelig, effektiv og transparent måte å skalere nettverksutstyr og serverbåndbredde på, øke gjennomstrømningen, forbedre nettverksdatabehandlingsmulighetene og forbedre nettverksfleksibiliteten og tilgjengeligheten. Lastbalansering betyr at den distribueres til flere operativsystemer, som webservere, FTP-servere, bedriftskritiske applikasjonsservere og andre forretningskritiske servere, for å kunne utføre arbeidsoppgaver i fellesskap. Enkelt sagt distribuerer den flere forespørsler til forskjellige servere på backend for å redusere presset på hver server og oppnå høy tilgjengelighet, selv om én server legger på, har det ingen innvirkning.
Først og fremst
Jeg installerte node.js nativt og installerte http-server for å emulere to webcontainere. (Bruk IIS, eller implementer HTTP-protokollen med din egen kode)
Etter å ha installert node.js, kjør følgende kommando:
Simuler to backend-lokasjoner
Jeg opprettet to nye mapper, site1 og site2, under E:\wwwroot-mappen, hver med en index.html fil i seg.
Innholdet er: indeks 1 by:itsvse.com og indeks 2 by:itsvse.com
Deretter lytter du til de to HTTP-portene med følgende kommando for å åpne de to stedene.
Prøv å få tilgang til begge stasjonene separat:Innloggingen med hyperkoblingen er synlig. Innloggingen med hyperkoblingen er synlig.Gjengivelsene er som følger:
NGINX lastbalanseringskonfigurasjon
Last ned Windows-versjonen av nginx på følgende adresse:Innloggingen med hyperkoblingen er synlig.
Når den er lastet ned, pakk den ut til E:\wwwroot\nginx-1.18.0-katalogen. Endre E:\wwwroot\nginx-1.18.0\conf\nginx.conf-filen som følger:
Start nginx-programmet med følgende kommando:
nginx -s stopper rask nedstengning nginx -s slutt med elegant nedstengning nginx -s laster inn på nytt og endrer konfigurasjon, starter nye arbeidsprosesser med en ny konfigurasjon, elegant nedstengning av gamle arbeidsprosesser nginx -s åpner loggfiler på nytt Tilgang til nginx lastbalanseringssiden via en nettleser:Innloggingen med hyperkoblingen er synlig.
Vi oppdaterer og besøker mange ganger, og oppdager at innholdet som returneres er forskjellig hver gang, og du kan se at nginx distribuerer forskjellige forespørsler til forskjellige http-tjenester på backend,Når vi prøver å stoppe site1-nettstedet, kan vi se at det ikke påvirker vår normale tilgang, og nginx videresender alle forespørsler til site2-nettstedet。
Nginx lastbalanseringskonfigurasjonsstatus
| tilstand | Oversikt | | Ned | Den nåværende serveren deltar foreløpig ikke i lastbalansering | | Backup | Reserverte backup-servere aktiveres når alle andre servere henges opp | | max_fails | Antallet tillatte mislykkede forespørsler, hvis antallet mislykkede forespørsler overstiger grensen, kan serveren fjernes fra den virtuelle tjenestepoolen etter fail_timeout tid | | fail_timeout | Etter en max_fails feil pauser tjenesten tiden, max_fails den fail_timeout verdien må settes | | max_conns | Begrens maksimalt antall tilkoblinger for ulike servermaskinvarekonfigurasjoner |
Nginx lastbalanseringsplanleggingspolicy
| Planleggingsalgoritmer | Oversikt | | Pollot | Poll én etter én, standardmetoden | | Vekt | Vektet polling, jo høyere vekt, desto større sjanse for fordeling | | ip_hash | Tildeling av hash-resultater fra den tilgangs-IP-en vil føre til forespørsler fra samme IP-adresse om å få tilgang til en fast bakgrunnsserver | | url_hash | Tildel etter hash-resultatet til den besøkte URL-en | | least_conn | Minimum antall lenker, serveren med færre lenker vil bli tildelt | | Hash-nøkkelverdi | Hash tilpasset nøkkel |
For mer informasjon om nginx-konfigurasjoner, se:Innloggingen med hyperkoblingen er synlig.
|
Foregående:Nginx loggdeling og slettingNeste:Konseptet og forskjellen mellom ITO, BPO, KPO og de tre
|