Selection of A Suitable Algorithm for the Implementation of Rate-Limiter Based on Bucket4j
Keywords:Rate-limiting, Bucket4j, Token-Bucket Algorithm, Leaky-Bucket Algorithm, Fixed Window Algorithm, Sliding Window Algorithm
In shared network services, rate limiting is essential as it controls the requests of the users or requesters in a specific amount of time. Due to rate limiting, the service or API stays protected from overuse, malicious attack, DDoS attack, data traffic spikes, etc. Bucket4j is a java library that has been demonstrated to be effective in rate limiting. While Bucket4j is mainly based on token bucket algorithm, rate limiting processes can be based on various effective algorithms. Selecting the most suitable algorithm for rate limiting is an essential problem. To address it, we have done a detailed analysis of rate-limiting algorithms based on various factors. The factors we have considered are easy implementation, proper handling of data traffic, data starvation, memory usage, etc. We have found out that for different set of requirements, different algorithms are preferable.
How to Cite
Copyright (c) 2022 Dmitry Borovikov
This work is licensed under a Creative Commons Attribution 4.0 International License.
The submitting author warrants that the submission is original and that she/he is the author of the submission together with the named co-authors; to the extend the submission incorporates text passages, figures, data or other material from the work of others, the submitting author has obtained any necessary permission.
Articles in this journal are published under the Creative Commons Attribution Licence (CC-BY What does this mean?). This is to get more legal certainty about what readers can do with published articles, and thus a wider dissemination and archiving, which in turn makes publishing with this journal more valuable for you, the authors.
By submitting an article the author grants to this journal the non-exclusive right to publish it. The author retains the copyright and the publishing rights for his article without any restrictions.