g-andrade / aequitas Goto Github PK
View Code? Open in Web Editor NEWFairness regulator and rate limiter
Home Page: https://hexdocs.pm/aequitas/
License: MIT License
Fairness regulator and rate limiter
Home Page: https://hexdocs.pm/aequitas/
License: MIT License
First of all, congrats on the library, finally a library which address fairness ;)
I have reviewed the documentation and I miss a very helpful -and needed in my specific case- feature: being able to perform a blocking ask.
If I'm not wrong, if there is no quota left, the ask function inmediately returns an error with the root cause.
Instead of returning and error, I propose an additional option to the ask function to block until there is another available slot for the requester.
In another rate limiting libraries, an additional setting allows to set a limit on how many simultaneous blocked requests can be waiting, and default to deny requests if that limit is reached and a new request is made.
At the end this behaviour is equivalent to allow reserving slots in advance.
The following format is incompatible. Key must be an atom; see application_controller:check_para/2
for details.
{aequitas,
[{{category, http_requests},
[{max_window_duration, {seconds,10}} % Override default 5s to 10s
]},
{{category, rare_ftp_requests},
[{max_window_size, 100} % Only track up to the last 100 acceptances
]}
]}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.