Proxybufring og hurtigbufring
Utforsk Nginx' mekanismer for proxybufring og hurtigbufring for å forbedre applikasjonsytelsen og redusere belastningen på backend.
Proxybufring og hurtigbufring er en gratis leksjon i API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i API-gateway og reverse proxy (Nginx + Spring Cloud Gateway), og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) inneholder totalt 4 leksjoner.
Forbedre applikasjonsytelsen
I webutvikling er hastighet avgjørende! Brukere forventer korte lastetider, og søkemotorer belønner nettsteder med god ytelse.
Nginx kan, når det fungerer som en reverse proxy, forbedre applikasjonens hastighet og pålitelighet betydelig.
I dag skal vi se på to kraftige Nginx-funksjoner: bufring og caching.
Forstå proxy-bufring
Proxy-bufring betyr at Nginx lagrer svar fra backend-serveren midlertidig før de sendes til klienten.
Tenk på det som et venterom for data. I stedet for å sende data direkte etter hvert som de kommer inn, samler Nginx først hele svaret (eller deler av det).
Dette frikobler backend-serveren fra klienten og forbedrer effektiviteten.
Slik fungerer bufring
Uten bufring fungerer Nginx som et enkelt relé. Hvis backend-serveren er treg, opplever klienten tregheten direkte.
Med bufring gjør Nginx følgende:
- Mottar hele svaret fra backend-serveren.
- Lagrer det i interne buffere (minne eller disk).
- Sender svaret til klienten i klientens hastighet.
Dette beskytter backend-serveren mot trege klienttilkoblinger.
Hvorfor bufring er nyttig
Bufring har flere viktige fordeler:
- Frigjør backend-serveren: Backend-serveren kan bli ferdig med å sende svaret raskt og håndtere andre forespørsler.
- Håndterer trege klienter: Nginx kan levere innhold til trege klienter uten å holde igjen backend-serveren.
- Forbedrer påliteligheten: Hindrer at backend-serveren blir overbelastet av nettverksproblemer eller trege tilkoblinger.
Viktige innstillinger for bufring
Nginx bruker bestemte direktiver til å styre bufringen. Her er de viktigste:
proxy_buffering on;: Aktiverer (eller deaktiverer) bufring. Den er vanligvisonsom standard.proxy_buffers 4 8k;: Angir antallet (4) og størrelsen (8 KB) på bufferne for et svar.proxy_buffer_size 4k;: Angir størrelsen på den første bufferen, som vanligvis brukes til svarhoder.
Disse angis i location- eller http-blokker.
http {
proxy_buffers 4 8k;
proxy_buffer_size 4k;
server {
listen 80;
location /app {
proxy_pass http://backend_server;
proxy_buffering on; # Explicitly enable
}
}
}Enkelt bufringsoppsett
La oss se på en grunnleggende konfigurasjon for å aktivere og konfigurere bufring for en bestemt location:
Dette oppsettet sørger for at Nginx bufrer opptil 32 KB (4 buffere * 8 KB hver) med svardata fra backend-serveren.
server {
listen 80;
server_name example.com;
location /api/data {
proxy_pass http://my_backend_service;
proxy_buffering on;
proxy_buffers 8 16k; # 8 buffers, each 16KB
proxy_buffer_size 8k; # First buffer 8KB
proxy_busy_buffers_size 16k; # Limit busy buffers
}
}Oppdag proxy-caching
Mens bufring handler om hvordan Nginx håndterer ett pågående svar, lagrer proxy-caching kopier av svar for fremtidige forespørsler.
Hvis flere klienter ber om den samme ressursen, kan Nginx levere den direkte fra cachen i stedet for å spørre backend-serveren på nytt hver gang.
Dette er en effektiv måte å redusere belastningen på backend-serverne på.
Slik forbedrer caching hastigheten
Når en forespørsel kommer inn:
- Nginx sjekker cachen for et gyldig, lagret svar.
- Hvis svaret finnes, leverer Nginx det umiddelbart (cache-treff).
- Hvis det ikke finnes, videresender Nginx forespørselen til backend-serveren, mottar svaret, lagrer det i cachen og leverer det deretter til klienten (cache-miss).
Fordeler: Raskere svartider, redusert belastning på backend-serveren og bedre skalerbarhet.
Viktige innstillinger for caching
For å konfigurere caching må du definere en cachesone og deretter bruke den på location-blokkene:
proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m inactive=60m max_size=1g;: Definerer hvor cachen lagres.proxy_cache my_cache;: Aktiverer den navngitte cachen for en location.proxy_cache_valid 200 302 10m;: Angir hvor lenge svar med bestemte statuskoder regnes som gyldige i cachen.
http {
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m
inactive=60m max_size=1g;
server {
listen 80;
location /images/ {
proxy_pass http://image_backend;
proxy_cache my_cache;
proxy_cache_valid 200 1d; # Cache 200 OK for 1 day
}
}
}Grunnleggende caching-oppsett
Slik konfigurerer du Nginx til å cache statiske ressurser som bilder, CSS- eller JavaScript-filer.
Dette eksempelet oppretter en cache med navnet 'static_cache' og bruker den for forespørsler til stier under /assets/. Svar som lykkes, caches i 60 minutter.
http {
# Define a cache zone
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=static_cache:20m
inactive=60m max_size=5g;
server {
listen 80;
server_name cdn.example.com;
location /assets/ {
proxy_pass http://asset_service;
proxy_cache static_cache; # Use the defined cache
proxy_cache_valid 200 60m; # Cache 200 OK for 60 mins
proxy_cache_revalidate on; # Revalidate stale cache
add_header X-Cache-Status $upstream_cache_status;
}
}
}Test kunnskapene dine
La oss sjekke hvor godt du har forstått ytelsesfunksjonene i Nginx.
Oppsummering av bufring og caching
Godt gjort! De har lært hvordan Nginx kan forbedre applikasjonsytelsen og backend-robustheten betydelig.
- Proxy-bufring frikobler backend-serveren og klienten og håndterer svar effektivt.
- Proxy-caching lagrer svar slik at gjentatte forespørsler kan leveres raskere, samtidig som belastningen på backend-serveren reduseres.
Å beherske disse funksjonene er viktig for å bygge webapplikasjoner med høy ytelse ved hjelp av Nginx.
Lær deg API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Proxybufring og hurtigbufring» gratis?
Ja – hele teksten i «Proxybufring og hurtigbufring» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-kurset, kan du oppgradere til CoddyKit PRO. Kurset i API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) inneholder totalt 4 leksjoner.
Hva lærer jeg i «Proxybufring og hurtigbufring»?
Utforsk Nginx' mekanismer for proxybufring og hurtigbufring for å forbedre applikasjonsytelsen og redusere belastningen på backend. Du øver på API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)?
Ingen tidligere erfaring er nødvendig. API-gateway og reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Proxybufring og hurtigbufring»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-leksjonen?
Ja. Alle API-gateway og reverse proxy (Nginx + Spring Cloud Gateway)-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Konfigurering av enkel reverse proxy
- Upstream-servere og lastbalansering
- Proxybufring og hurtigbufring
- Videresending av headere og klient-IP