Limitador de taxa amb Token Bucket

Descobreix com funciona el limitador Token Bucket per controlar sol·licituds, absorbir ràfegues i protegir APIs. Solucions a mida al núvol, ciberseguretat i IA.

domingo, 17 de agosto de 2025 • 4 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Token Bucket rate limiter és un dels algoritmes més populars per controlar la quantitat de sol·licituds enviades a un servidor. Funciona mantenint un cub virtual que conté un nombre fix de tokens que s’omplen a una taxa constant en el temps.

Cada sol·licitud consumeix un token per ser processada. Si el cub no té tokens disponibles, la sol·licitud es retarda o es descarta segons la implementació.

Visualment el comportament és senzill: el cub té una capacitat màxima de tokens, per exemple 5. Quan arriba una petició es verifica si hi ha almenys un token disponible. Si n’hi ha, es consumeix un token i la petició es permet. Si no hi ha tokens, la petició es denega o s’encua.

Paral·lelament, el sistema omple el cub amb nous tokens a una taxa fixa, per exemple 3 tokens per segon. El cub mai supera la seva capacitat màxima, per tant els tokens addicionals per sobre de la capacitat es perden.

Exemple pràctic: al principi el cub és ple amb 5 tokens. En un segon arriben 3 peticions i cadascuna consumeix un token, quedant-ne 2. En aquest mateix segon apareixen 5 peticions més. Només les dues primeres podran ser ateses amb els tokens restants, les tres restants seran rebutjades o retardades per falta de tokens. No s’atendran més peticions fins que el procés d’ompliment afegeixi tokens de nou.

El mecanisme d’ompliment afegeix tokens periòdicament segons la taxa configurada. Per exemple, als 1,00 segons s’afegeixen 3 tokens i una petició arribada just després consumeix un d’aquests tokens. Si durant diversos segons no hi ha peticions, el cub va acumulant tokens fins a assolir la seva capacitat màxima, permetent absorbir pics de trànsit quan arribin.

En termes d’implementació és útil separar quatre components claus: capacitat del cub que defineix el màxim de tokens, taxa d’ompliment que indica quants tokens afegir per segon, consum de tokens per cada sol·licitud, i la lògica d’ompliment que calcula quants tokens afegir en funció del temps transcorregut des de l’últim ompliment.

Una implementació thread safe sol mantenir un comptador de tokens i una marca de temps de l’últim ompliment. Quan arriba una sol·licitud es calcula el temps transcorregut des de l’última actualització, es computen els tokens a afegir multiplicant els segons transcorreguts per la taxa d’ompliment, s’actualitza el comptador respectant la capacitat màxima i s’actualitza la marca de temps. Si després de l’ompliment hi ha almenys un token es consumeix i la petició es permet, en cas contrari es denega.

Per simular el funcionament es pot crear un exemple on la capacitat sigui 5 i la taxa d’ompliment 3 tokens per segon. Es generen 10 sol·licituds amb pauses de 100 mil·lisegons entre elles. El limitador permetrà o rebutjarà cada petició segons la disponibilitat de tokens en cada moment, mostrant com es combinen la protecció davant ràfegues i el límit sostingut.

Possibles millores i consideracions operatives inclouen suportar taxes fraccionàries usant nanosegons per a més precisió, oferir opcions per encuar sol·licituds en lloc de rebutjar-les, implementar mètriques i alertes sobre rebutjos, i distribuir l’estat del limitador en entorns de múltiples instàncies mitjançant emmagatzematge centralitzat o algoritmes coordinats.

En Q2BSTUDIO som especialistes a desenvolupar solucions robustes a mida. Oferim serveis de programari a mida i aplicacions a mida que inclouen integració de controls com rate limiters, arquitectures escalables en serveis cloud aws i azure, i solucions de ciberseguretat per protegir APIs i dades. Apliquem intel·ligència artificial i ia per a empreses per optimitzar patrons de trànsit, construir agents IA que automatitzen decisions i potenciar plataformes de reporting amb power bi i serveis intel·ligència de negoci.

Si necessites adaptar un limitador Token Bucket a les teves necessitats, integrar controls en una arquitectura distribuïda o dissenyar polítiques de seguretat i escalat per a la teva plataforma, Q2BSTUDIO pot ajudar-te amb desenvolupament a mida, consultoria en ciberseguretat, desplegament en cloud i solucions d’intel·ligència artificial aplicades al negoci.

Prova d’ajustar la capacitat, la taxa d’ompliment o els intervals d’arribada de sol·licituds per observar diferents comportaments i triar la configuració que millor equilibri rendiment i protecció davant ràfegues. Per a més informació sobre com integrar aquestes solucions al teu stack, contacta amb Q2BSTUDIO i sol·licita una proposta personalitzada.

Paraules clau rellevants per a posicionament aplicacions a mida, programari a mida, intel·ligència artificial, ciberseguretat, serveis cloud aws i azure, serveis intel·ligència de negoci, ia per a empreses, agents IA, power bi.

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.