Mis on Kiiruse piiramine
API päringute sageduse piiramine
Kiiruse piiramine on mehhanism API või teenuse päringute arvu piiramiseks kindla ajaperioodi jooksul.
Miks kiiruse piiramine on oluline
- Serverite kaitsmine ülekoormuse eest
- DDoS rünnakute vältimine
- Ressursside õiglane jaotamine
- Infrastruktuuri kulude kontroll
- Stabiilse teenuse tagamine kõigile kasutajatele
Piirangute tüübid
- Päringuid sekundis (RPS) — klassikaline piirang
- Päringuid minutis/tunnis — pikaajaline kontroll
- Kasutaja kohta — individuaalsed piirangud
- IP-aadressi kohta — botide kaitse
- Hinnaplaani kohta — API monetiseerimine
Rakendusalgoritmid
- Token Bucket — tokenid ämbrisse
- Leaky Bucket — lekkiva ämbri algoritm
- Fixed Window — fikseeritud ajaaknad
- Sliding Window — libiseva akna lähenemine
HTTP päised
- X-RateLimit-Limit — maksimaalsed päringud
- X-RateLimit-Remaining — allesjäänud päringud
- X-RateLimit-Reset — piirangu lähtestamise aeg
- Retry-After — millal uuesti proovida