Spring GDS 25è Aniversari
Una empresa de logística que envia a 190 països va construir alguna cosa per enviar-se a si mateixa.
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ú.
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.
Una empresa de logística que envia a 190 països va construir alguna cosa per enviar-se a si mateixa.
Convertir una marca en un negoci que funciona.
Mig milió de persones. Una app. Zero caos.















