← Nieuwste papers
💻 computer science

A Comparative Survey of API Rate-Limiting Algorithms: Token Bucket, Leaky Bucket, and Sliding Window

Dit artikel onderzoekt en vergelijkt experimenteel vijf veelgebruikte algoritmen voor API-rate-limiting — token bucket, leaky bucket, fixed window, sliding window log en sliding window counter — om hun afwegingen in burst-tolerantie en precisie te evalueren, met als doel uiteindelijk richtlijnen te bieden voor het selecteren van het meest geschikte algoritme op basis van specifieke verkeerseigenschappen en systeembeperkingen.

Oorspronkelijke auteurs: Umair Saleem

Gepubliceerd 2026-09-09
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Umair Saleem

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Moderne digitale diensten vertrouwen op een delicaat evenwicht tussen beschikbaarheid en bescherming. Wanneer miljoenen mensen tegelijkertijd proberen toegang te krijgen tot een website of een applicatie, kunnen de servers achter de schermen overbelast raken, vergelijkbaar met een eenbaansbrug die verstopt raakt door een plotselinge stroom verkeer. Om deze instorting te voorkomen, gebruiken ingenieurs een mechanisme genaamd rate limiting, dat fungeert als een poortwachter. Deze poortwachter telt hoeveel verzoeken een specifieke gebruiker of apparaat binnen een bepaalde periode verzendt en blokkeert alle verzoeken die een veilige drempel overschrijden. Het doel is niet om gebruikers te straffen, maar om ervoor te zorgen dat het systeem stabiel blijft voor iedereen, zodat een paar zware gebruikers niet alle beschikbare middelen consumeren. Echter, niet al het verkeer komt in een gestage stroom aan; soms komt het in plotselinge, scherpe pieken, zoals wanneer een populair nieuwsbericht naar buiten komt of een systeem een mislukte verbinding opnieuw probeert te maken. De uitdaging voor ingenieurs is om te beslissen hoe ze deze pieken moeten afhandelen: moet het systeem een tijdelijke piek doorlaten, of moet het strikt een vlakke limiet handhaven, ongeacht de situatie?

Een recente studie door Umair Saleem onderzoekt de verschillende wiskundige regels die worden gebruikt om deze digitale poortwachters te bouwen. Het onderzoek richt zich op vijf specifieke methoden die veelvuldig in de industrie worden gebruikt: de token bucket, de leaky bucket, de fixed window counter, de sliding window log en de sliding window counter. Elk van deze methoden heeft een andere manier van tijd bijhouden en verzoeken tellen, wat leidt tot verschillende gedragingen wanneer een golf van verkeer toeslaat. Om te begrijpen welke methode het beste werkt, vertrouwde de auteur niet alleen op theorie, maar bouwde een computersimulatie om ze allemaal onder identieke omstandigheden te testen. De simulatie creëerde een realistische stroom van meer dan duizend verzoeken over een periode van honderd seconden. Deze stroom bestond uit een gestage achtergrondstroom van acht verzoeken per seconde, onderbroken door twee duidelijke pieken van activiteit: een periode van vijf seconden waarin het verkeer sprong naar veertig verzoeken per seconde, gevolgd door een scherpere piek van twee seconden die zestig verzoeken per seconde bereikte. Door exact hetzelfde verkeerspatroon door elk van de vijf algoritmen te laten lopen, kon de studie precies meten hoeveel verzoeken elke methode accepteerde, hoeveel het weigerde en hoe het systeem zich gedroeg tijdens de pieken.

De resultaten toonden een duidelijke splitsing in hoe deze algoritmen de druk van een verkeerspiek afhandelen. De token bucket en de leaky bucket presteerden bijna identiek wanneer ze simpelweg werden gebruikt om te beslissen of een verzoek geaccepteerd of geweigerd moest worden. Beide methoden lieten het systeem de pieken effectiever absorberen dan de andere methoden, waarbij ze in totaal 844 verzoeken accepteerden van de 1.057 verzonden, wat neerkomt op een acceptatiepercentage van ongeveer 80 procent. Tijdens de eerste grote piek lieten deze twee methoden 69 verzoeken door, en tijdens de tweede, scherpere piek lieten ze 38 verzoeken door. Dit gebeurde omdat deze algoritmen zijn ontworpen met een ingebouwde capaciteit om "reserve"-toestemming voor toekomstig gebruik op te slaan, waardoor ze de pieken kunnen afvlakken zonder gebruikers onmiddellijk weg te sturen. In contrast hiermee was de sliding window log de meest rigide van alle methoden. Het liet nooit meer dan tien verzoeken per seconde toe, waarbij het strikt de geconfigureerde limiet aanhield. Hoewel dit de meest precieze bescherming tegen overbelasting bood, ging dit gepaard met een hoge prijs: het weigerde de meeste verkeer overall, waarbij slechts 67,9 procent van de verzoeken werd geaccepteerd. Het was de enige methode die garandeerde dat het systeem nooit een piek boven de limiet zou zien, maar het deed dit door meer legitieme gebruikers weg te sturen dan de andere methoden.

De overige drie methoden bevonden zich ergens in het midden en vertoonden voorspelbare gebreken op basis van hoe ze de tijd maten. De fixed window counter, die zijn telling bij het begin van elke nieuwe seconde reset, leed aan een timingfout bij de grenzen. Omdat het zijn teller net op het moment van aankomst van een verkeerspiek kon resetten, liet het een tijdelijke piek van tot wel vijftien verzoeken in een enkele seconde toe, wat hoger was dan de beoogde limiet. De sliding window counter probeerde dit op te lossen door ook naar de vorige seconde te kijken, maar corrigeerde het probleem slechts gedeeltelijk, met een piek van dertien verzoeken. De studie vond dat de keuze van een algoritme volledig afhangt van wat het systeem moet beschermen. Als het doel is om gebruikers tevreden te houden en ruimte te bieden voor natuurlijke pieken van activiteit, zoals een pagina die herlaadt met meerdere datacalls, dan is de token bucket de superieure keuze omdat het een balans vindt tussen een hoge acceptatie en een gestage prestatie. Als het doel is om een kwetsbaar downstream-systeem te beschermen dat absoluut geen enkele piek kan tolereren, dan is de sliding window log de betere optie, ondanks het lagere acceptatiepercentage. De research concludeert dat er geen enkel perfect instrument is voor elke taak; in plaats daarvan moeten ingenieurs de methode kiezen die aansluit bij hun specifieke tolerantie voor verkeerspieken en hun beschikbare geheugenbronnen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →