Caching og throttling
Implementér caching for at reducere latenstid, og håndtér trafikspidser med throttling og forbrugsplaner i API Gateway.
Caching og throttling er en gratis Serverløs backend med AWS Lambda og API Gateway-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Serverløs backend med AWS Lambda og API Gateway, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Serverløs backend med AWS Lambda og API Gateway-kurset indeholder 4 lektioner i alt.
Forbedring af API-ydeevne
I API-verdenen er hastighed og pålidelighed afgørende. Høj latenstid (langsomme svar) frustrerer brugerne, mens pludselige trafikspidser kan få dine backend-tjenester til at gå ned.
Denne lektion gennemgår to effektive funktioner i AWS API Gateway: cachelagring og hastighedsbegrænsning. De hjælper dig med at levere hurtige, stabile og omkostningseffektive API'er.
Hvad er API-cachelagring?
Cachelagring minder om midlertidig lagring af data, der ofte anmodes om. I stedet for altid at hente data fra dit backend (f.eks. en database eller en Lambda-funktion) kan API Gateway gemme svaret og levere det direkte.
- Reducerer latenstid: Svar returneres meget hurtigere.
- Reducerer belastning: Dine backend-tjenester modtager færre anmodninger.
- Sparer omkostninger: Mindre brug af beregning og database.
Sådan fungerer API Gateways cache
Når cachelagring er aktiveret for et API-trin, gemmer API Gateway svar fra dit backend i et angivet tidsrum.
Sådan fungerer det:
- En klient sender en anmodning til API Gateway.
- API Gateway kontrollerer, om der findes et gyldigt svar på anmodningen i cachen.
- Hvis svaret findes, returnerer API Gateway straks det cachelagrede svar.
- Hvis det ikke findes, videresender API Gateway anmodningen til dit backend, cachelagrer svaret og returnerer det derefter til klienten.
Aktivering af API-cachelagring
Cachelagring konfigureres på niveauet for API-trinnet. Du angiver en cachekapacitet og en standardværdi for levetid (TTL) for cachelagrede svar.
- Cachekapacitet: Cachens størrelse (f.eks. 0,5 GB til 237 GB).
- TTL (levetid): Hvor længe svar gemmes i cachen, angivet i sekunder (standard er 300 sek.).
- Kryptering: Cachedata kan krypteres under lagring.
Du kan også tilsidesætte TTL-værdien for hver metode eller deaktivere cachelagring for bestemte metoder.
Rydning af cachen
Hvad sker der, hvis dine backend-data ændres? Du vil ikke levere forældede cachelagrede data. Det er her, cache-invalidering kommer ind i billedet.
- Klientside: Klienter kan sende headeren
Cache-Control: max-age=0for at omgå cachen og tvinge et aktuelt svar frem. - API-nøgle: Hvis du bruger API-nøgler, kan klienter med nøglen ugyldiggøre cachen for bestemte anmodninger.
- Manuelt: Du kan manuelt ugyldiggøre hele trinnets cache via AWS Management Console eller CLI.
Styring af API-trafik
Hastighedsbegrænsning handler om at begrænse antallet af anmodninger, som dit API kan modtage i et bestemt tidsrum. Tænk på det som en trafikbetjent for dit API.
Det er afgørende for:
- Beskyttelse af backend: Forhindrer, at dine backend-tjenester bliver overbelastet.
- Omkostningskontrol: Reducerer uventede spidser i ressourceforbruget.
- Retfærdig brug: Sikrer, at alle brugere får en rimelig andel af API-adgangen.
Sådan begrænser API Gateway hastigheden
API Gateway håndhæver hastighedsbegrænsning baseret på to hovedmålinger:
- Hastighed: Det stabile antal anmodninger pr. sekund (RPS), som klienter kan sende til dit API.
- Spidsbelastning: Det maksimale antal samtidige anmodninger, som API Gateway opfylder, før den returnerer
429 Too Many Requests-fejl. Det giver mulighed for korte spidser over den stabile hastighed.
Når grænserne nås, afviser API Gateway overskydende anmodninger og beskytter dermed dit backend.
Standardgrænser for hastighedsbegrænsning
AWS angiver hastighedsbegrænsninger på kontoniveau som standard for API Gateway for at sikre stabilitet på tværs af alle brugere. Det er bløde grænser, hvilket betyder, at du kan anmode om forhøjelser.
- Eksempel: En standard kan være 10.000 anmodninger pr. sekund (RPS) og en spidsbelastning på 5.000 samtidige anmodninger på tværs af alle API'er i en region.
Disse grænser gælder, før der tages højde for grænser, der er specifikke for trin eller brugsplaner.
Tilpasning af hastighedsbegrænsning for trin
Ud over grænserne på kontoniveau kan du konfigurere hastighedsbegrænsning på trinniveau for individuelle metoder eller hele API-trin.
- Du kan angive en standardgrænse for hastighed og spidsbelastning for hele trinnet (f.eks. 100 RPS for
devog 1000 RPS forprod). - Du kan også tilsidesætte disse standarder for bestemte HTTP-metoder (f.eks. kan en
POST /itemshave en lavere grænse end enGET /items).
Hastighedsbegrænsning pr. bruger
Hvis du har brug for mere detaljeret kontrol, især når du administrerer forskellige brugertrin eller tjener penge på dit API, kan du bruge brugsplaner sammen med API-nøgler.
- Brugsplan: Definerer tilpassede grænser for hastighedsbegrænsning (hastighed og spidsbelastning) samt kvoter (det samlede antal anmodninger i et tidsrum) for en gruppe klienter.
- API-nøgle: En unik identifikator, som klienter inkluderer i deres anmodninger. API Gateway bruger denne nøgle til at knytte klienten til en brugsplan og håndhæve planens specifikke grænser.
Det giver dig mulighed for at tilbyde forskellige serviceniveauer (f.eks. Gratis og Premium) til forskellige klienter.
Hurtigt tjek
Det er afgørende at forstå formålet med hastighedsbegrænsning, når du skal opbygge robuste API'er.
Opsummering af cachelagring og hastighedsbegrænsning
Vi har gennemgået, hvordan cachelagring forbedrer API-ydeevnen markant ved at reducere latenstid og belastning af backend. Vi har også lært, hvordan hastighedsbegrænsning beskytter dine tjenester mod trafikspidser og sikrer retfærdig brug gennem konfigurationer på konto-, trin- og brugsplanniveau.
Disse funktioner er afgørende for at opbygge robuste og skalerbare serverløse API'er med AWS API Gateway.
Lær Serverløs backend med AWS Lambda og API Gateway med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Caching og throttling” gratis?
Ja — hele teksten til “Caching og throttling” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Serverløs backend med AWS Lambda og API Gateway-kurset, skal du opgradere til CoddyKit PRO. Serverløs backend med AWS Lambda og API Gateway-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Caching og throttling”?
Implementér caching for at reducere latenstid, og håndtér trafikspidser med throttling og forbrugsplaner i API Gateway. Du øver dig i Serverløs backend med AWS Lambda og API Gateway med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Serverløs backend med AWS Lambda og API Gateway?
Der kræves ingen tidligere erfaring. Serverløs backend med AWS Lambda og API Gateway på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Caching og throttling”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Serverløs backend med AWS Lambda og API Gateway-lektion?
Ja. Alle Serverløs backend med AWS Lambda og API Gateway-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Caching og throttling
- Transformationer af forespørgsler og svar
- Brugerdefinerede domænenavne og edge-optimering
- WebSocket-API'er til realtidskommunikation