Hur NGINX distribuerar klientförfrågningar över flera servrar
NGINX fungerar som en högpresterande omvänd proxy, som avlyssnar klientförfrågningar innan de vidarebefordras till backend-servrar. Denna process att distribuera inkommande nätverkstrafik mellan flera servrar kallas lastbalansering.
Dess primära roll är att förbättra tillgängligheten, skalbarheten och prestanda för webbapplikationer genom att förhindra att en enskild server blir en flaskhals.
NGINX Load Balancing Configuration
Backendservrar är grupperade i ett uppströms-block i NGINX-konfigurationsfilen. Varje server i den här gruppen representerar en applikationsinstans som är redo att hantera förfrågningar.
NGINX tillämpar sedan en vald lastbalanseringsalgoritm för att bestämma vilken specifik backend-server som ska ta emot en inkommande klientförfrågan. Denna dynamiska distribution optimerar resursutnyttjandet.
Vanliga NGINX lastbalanseringsmetoder
-
Round Robin
Detta är standardmetoden och distribuerar förfrågningar sekventiellt över alla servrar i uppströmsgruppen.
Varje ny begäran går till nästa server i rad, vilket säkerställer en enkel och jämn fördelning över tiden.
-
Minsta anslutningar
Nya förfrågningar skickas till den server som för närvarande har minst aktiva klientanslutningar.
Denna metod är effektiv för servrar med varierande bearbetningsmöjligheter eller förfrågningsbelastningar, eftersom den prioriterar mindre upptagna servrar.
-
IP-hash
Klientens IP-adress används som en hashnyckel för att avgöra vilken server som tar emot begäran.
Detta säkerställer att förfrågningar från en viss klient konsekvent går till samma server, vilket kan vara avgörande för sessionsbeständighet utan att förlita sig på extern sessionslagring.
Serverhälsoövervakning
NGINX inkluderar mekanismer för att regelbundet kontrollera hälsostatusen för backend-servrar. Om en server inte svarar eller bedöms som ohälsosam tar NGINX tillfälligt bort den från lastbalanseringspoolen.
Förfrågningar riktas sedan endast till de friska servrarna, vilket automatiskt återställer den berörda servern till poolen när den återställs.
Jämförelse av NGINX-lastbalanseringsalgoritmer
| Algorithm | Beskrivning | Primärt användningsfall | Nyckelegenskap |
|---|---|---|---|
| Round Robin | Distribuerar förfrågningar en efter en till varje server i följd. | Grundläggande distribution för lika kapabla servrar. | Enkel, tidsbaserad rättvisa. |
| Minsta anslutningar | Dirigerar nya förfrågningar till servern med minst aktiva anslutningar. | Ojämn serverbelastning eller varierande behandlingstider för begäran. | Arbetsbelastningsmedveten distribution. |
| IP-hash | Kappar en klients IP-adress till en specifik backend-server. | Upprätthåller sessionens klibbighet utan delat tillstånd. | Klientspecifik routingkonsistens. |
Copyright ©kithoof.pages.dev 2026