Caching en throttling
Implementeer caching om latentie te verminderen en verkeerspieken te beheren met throttling en usage plans in API Gateway.
Caching en throttling is een gratis Serverloze backend met AWS Lambda en API Gateway-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Serverloze backend met AWS Lambda en API Gateway. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Serverloze backend met AWS Lambda en API Gateway bevat in totaal 4 lessen.
API-prestaties verbeteren
In de wereld van API's zijn snelheid en betrouwbaarheid essentieel. Een hoge latentie (trage reacties) frustreert gebruikers, terwijl plotselinge verkeerspieken je backendservices kunnen laten crashen.
In deze les verken je twee krachtige functies van AWS API Gateway: caching en throttling. Ze helpen je om snelle, stabiele en kostenefficiënte API's te leveren.
Wat is API-caching?
Caching is vergelijkbaar met tijdelijke opslag voor vaak opgevraagde gegevens. In plaats van gegevens steeds uit je backend (bijvoorbeeld een database of Lambda-functie) op te halen, kan API Gateway het antwoord opslaan en rechtstreeks leveren.
- Vermindert latentie: Antwoorden worden veel sneller geretourneerd.
- Vermindert belasting: Je backendservices ontvangen minder aanvragen.
- Bespaart kosten: Er is minder gebruik van rekenkracht en databases.
Hoe API Gateway cachet
Wanneer caching is ingeschakeld voor een API-fase, slaat API Gateway antwoorden van je backend gedurende een opgegeven tijd op.
Zo werkt het:
- Een client stuurt een aanvraag naar API Gateway.
- API Gateway controleert of er een geldig antwoord voor die aanvraag in de cache staat.
- Als het antwoord wordt gevonden, retourneert API Gateway het gecachte antwoord onmiddellijk.
- Als het niet wordt gevonden, stuurt API Gateway de aanvraag door naar je backend, slaat het antwoord in de cache op en retourneert het vervolgens aan de client.
API-caching inschakelen
Caching wordt geconfigureerd op het niveau van de API-fase. Je geeft een cachecapaciteit en een standaardwaarde voor Time-to-Live (TTL) van gecachte antwoorden op.
- Cachecapaciteit: De grootte van de cache (bijvoorbeeld 0,5 GB tot 237 GB).
- TTL (Time-to-Live): Hoelang antwoorden in de cache worden opgeslagen, in seconden (standaard 300 s).
- Versleuteling: Cachegegevens kunnen in rust worden versleuteld.
Je kunt de TTL ook per methode overschrijven of caching voor specifieke methoden uitschakelen.
De cache leegmaken
Wat gebeurt er als je backendgegevens veranderen? Je wilt geen verouderde gegevens uit de cache leveren. Daarvoor gebruik je cache-invalidatie.
- Clientzijde: Clients kunnen een
Cache-Control: max-age=0-header sturen om de cache te omzeilen en een nieuw antwoord af te dwingen. - API-sleutel: Als je API-sleutels gebruikt, kunnen clients met de sleutel de cache voor specifieke aanvragen ongeldig maken.
- Handmatig: Je kunt de volledige cache van een fase handmatig ongeldig maken via de AWS Management Console of CLI.
API-verkeer beheren
Throttling betekent dat je het aantal aanvragen beperkt dat je API gedurende een bepaalde periode kan ontvangen. Zie het als een verkeersregelaar voor je API.
Dit is essentieel voor:
- Bescherming van de backend: Voorkomt dat je backendservices overbelast raken.
- Kostenbeheersing: Vermindert onverwachte pieken in het gebruik van resources.
- Eerlijk gebruik: Zorgt ervoor dat alle gebruikers een redelijk deel van de API-toegang krijgen.
Hoe API Gateway aanvragen beperkt
API Gateway past throttling toe op basis van twee belangrijke meetwaarden:
- Rate: Het stabiele aantal aanvragen per seconde (RPS) dat clients naar je API kunnen sturen.
- Burst: Het maximale aantal gelijktijdige aanvragen dat API Gateway afhandelt voordat er
429 Too Many Requests-fouten worden geretourneerd. Hierdoor zijn korte pieken boven de stabiele snelheid mogelijk.
Wanneer limieten worden bereikt, weigert API Gateway overtollige aanvragen om je backend te beschermen.
Standaardlimieten voor throttling
AWS stelt standaardlimieten op accountniveau voor throttling in API Gateway in om de stabiliteit van de service voor alle gebruikers te waarborgen. Dit zijn zachte limieten, wat betekent dat je verhogingen kunt aanvragen.
- Voorbeeld: een standaardwaarde kan 10.000 aanvragen per seconde (RPS) en een burst van 5.000 gelijktijdige aanvragen voor alle API's in een regio zijn.
Deze limieten gelden voordat er rekening wordt gehouden met limieten op faseniveau of limieten van gebruiksplannen.
Throttling voor fasen aanpassen
Naast limieten op accountniveau kun je throttling op faseniveau configureren voor afzonderlijke methoden of volledige API-fasen.
- Je kunt een standaardlimiet voor de snelheid en een burstlimiet instellen voor de hele fase (bijvoorbeeld 100 RPS voor
deven 1000 RPS voorprod). - Je kunt deze standaardwaarden ook overschrijven voor specifieke HTTP-methoden (bijvoorbeeld een
POST /itemsmet een lagere limiet dan eenGET /items).
Throttling per gebruiker
Voor fijnmazigere controle, vooral wanneer je verschillende gebruikersniveaus beheert of geld wilt verdienen met je API, gebruik je Usage Plans in combinatie met API Keys.
- Usage Plan: Definieert aangepaste throttlinglimieten (rate, burst) en quota's (het totale aantal aanvragen gedurende een periode) voor een groep clients.
- API Key: Een unieke identificatie die clients aan hun aanvragen toevoegen. API Gateway gebruikt deze sleutel om de client aan een gebruiksplan te koppelen en de bijbehorende limieten af te dwingen.
Zo kun je verschillende serviceniveaus (bijvoorbeeld Free en Premium) aan verschillende clients aanbieden.
Korte controle
Inzicht in het doel van throttling is essentieel voor het bouwen van veerkrachtige API's.
Samenvatting van caching en throttling
We hebben onderzocht hoe caching de API-prestaties aanzienlijk verbetert door latentie en backendbelasting te verminderen. Ook hebben we geleerd hoe throttling je services beschermt tegen verkeerspieken en eerlijk gebruik waarborgt via configuraties op accountniveau, faseniveau en in gebruiksplannen.
Deze functies zijn essentieel voor het bouwen van robuuste en schaalbare serverloze API's met AWS API Gateway.
Leer Serverloze backend met AWS Lambda en API Gateway met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Caching en throttling” gratis?
Ja — de volledige tekst van “Caching en throttling” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Serverloze backend met AWS Lambda en API Gateway wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Serverloze backend met AWS Lambda en API Gateway bevat in totaal 4 lessen.
Wat leer ik in “Caching en throttling”?
Implementeer caching om latentie te verminderen en verkeerspieken te beheren met throttling en usage plans in API Gateway. Je oefent met Serverloze backend met AWS Lambda en API Gateway door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Serverloze backend met AWS Lambda en API Gateway te beginnen?
Ervaring vooraf is niet nodig. Serverloze backend met AWS Lambda en API Gateway op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Caching en throttling”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Serverloze backend met AWS Lambda en API Gateway?
Ja. Elke les over Serverloze backend met AWS Lambda en API Gateway bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Caching en throttling
- Request/response-transformaties
- Aangepaste domeinnamen en edge-optimalisatie
- WebSocket-API's voor realtimecommunicatie