Logo de Dallonses

Rate limiting

Què és el rate limiting?

El rate limiting controla quantes peticions pot fer un client a un servei en una finestra de temps determinada. En arribar al límit, el servidor respon amb un estat 429, normalment amb una capçalera que indica quan es pot tornar a provar. És el mecanisme que evita que un sol client, malintencionat o simplement mal programat, saturi un sistema del qual depenen tots els altres.

Les raons van de la seguretat a l'equitat i al cost. Frena els atacs de força bruta sobre el login i el trànsit de denegació de servei. Impedeix que una sola integració monopolitzi la capacitat compartida. Manté predictibles les factures que depenen de l'ús. Una API pública que permet mil crides per hora a cada clau fa servir el rate limiting per protegir tant la seva infraestructura com la resta de clients. Entre els enfocaments habituals hi ha el token bucket, que admet pics breus per sobre del ritme estable, i la finestra lliscant, que suavitza el recompte al llarg del temps. Els límits solen aplicar-se per clau d'API, per usuari o per adreça IP.

Un bon rate limiting també és un contracte. La resposta diu al client quin és el seu límit, quant li queda i quan es reinicia la finestra, de manera que un consumidor ben fet pot esperar i reintentar en lloc de picar contra un mur. L'art està a fixar límits prou alts perquè l'ús legítim no els noti mai i prou baixos perquè l'abús es talli abans no costi res a ningú.

Rate limiting a Dallonses

Integrem el rate limiting a les APIs des del principi, no quan un incident ens hi obliga. En un projecte que exposava dades a partners externs, vam fixar límits per nivells segons la clau, vam retornar capçaleres clares perquè els partners es poguessin regular amb netedat i vam mantenir les regles en un sol lloc per ajustar-les amb facilitat a mesura que apareixien els patrons d'ús reals. Cap partner no es va endur cap sorpresa i cap client no va poder tombar la plataforma.

En el desenvolupament d'aplicacions web a mida que fem, el rate limiting és una capa més dins d'una defensa més àmplia, al costat de l'autenticació, la validació i la monitorització. Ajustem els llindars contra el trànsit real en lloc d'endevinar, i fem predictible el comportament davant la fallada perquè qui s'integri amb l'API sàpiga exactament què esperar. Protecció que compleix la seva funció sense destorbar qui fa servir el sistema com cal.

Obriràs una API al món i vols que aguanti dempeus? Fixem bé els límits.

Parlem de la teva API

Serveis relacionats


Preparat per a traballar junts?

Reserva una reunió
Aymón sostenint una revista Tools davant de la seva cara
Ari treballant en un portàtil a l'aire lliure envoltada de plantes
Vista superior d'un escriptori de fusta amb teclat, ratolí i auriculars
Il·lustració dibuixada a mà d'una mà chasquejant els dits
Nico recolzat contra un dispensador d'aigua al costat d'un extintor
Primer pla d'un ordinador obert amb placa de circuit i components sobre un escriptori de fusta
Bernat i Andreu col·laborant en un escriptori amb monitors i un portàtil
Il·lustració dibuixada a mà d'una mà oberta saludant
Aymón sostenint una revista Tools davant de la seva cara
Ari treballant en un portàtil a l'aire lliure envoltada de plantes
Vista superior d'un escriptori de fusta amb teclat, ratolí i auriculars
Il·lustració dibuixada a mà d'una mà chasquejant els dits
Nico recolzat contra un dispensador d'aigua al costat d'un extintor
Primer pla d'un ordinador obert amb placa de circuit i components sobre un escriptori de fusta
Bernat i Andreu col·laborant en un escriptori amb monitors i un portàtil
Il·lustració dibuixada a mà d'una mà oberta saludant