Serverløs backend med AWS Lambda og API Gateway · Lektion

Caching og throttling

Implementér caching for at reducere latenstid, og håndtér trafikspidser med throttling og forbrugsplaner i API Gateway.

Lektion 1 af 412 trin

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:

  1. En klient sender en anmodning til API Gateway.
  2. API Gateway kontrollerer, om der findes et gyldigt svar på anmodningen i cachen.
  3. Hvis svaret findes, returnerer API Gateway straks det cachelagrede svar.
  4. 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=0 for 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 dev og 1000 RPS for prod).
  • Du kan også tilsidesætte disse standarder for bestemte HTTP-metoder (f.eks. kan en POST /items have en lavere grænse end en GET /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.

Gratis at komme i gang

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

  1. Caching og throttling
  2. Transformationer af forespørgsler og svar
  3. Brugerdefinerede domænenavne og edge-optimering
  4. WebSocket-API'er til realtidskommunikation
← Tilbage til Serverløs backend med AWS Lambda og API Gateway