coveooss / spillway

A simple, distributed and flexible rate limiter
MIT License
34 stars 12 forks source link

Added visibility in the different storage implementation #35

Closed mcoulombe636 closed 7 years ago

mcoulombe636 commented 7 years ago
Sytten commented 7 years ago

Si tu veux continuer d'améliorer la lib, il faut push la branche V2. C'est celle-là qui est en prod, car la V1 avait un problème de concurrence (et on a changé quelques inferfaces en tre les deux).

Sytten commented 7 years ago

If you have questions concerning the lib, feel free to contact me via email @MCoulombe727. I worked a lot on the lib and @GuiSim can also help since he created it in the first place. To modify the interface of the lib, you have to bump the major. Thats why we started the V2. When you judge that the interface is stable enough (maybe in a month or something), please release it on maven central. Ask @pastjean for more information about that. Be careful if you release a preview version on coveo's internal maven server since the current preview version is used by many teams (not ideal I agree).

malaporte commented 7 years ago

Can you at least give some justification as to why you're making this change? I can make an educated guess, but I find that reading a quick explanation from the author helps a lot in better reviewing the PR.

mcoulombe636 commented 7 years ago

It lets you have distributed expirable metrics of the resource you want to limit the rate on. For more lengthy buckets where reading the current count won't be a performance issue (lets say you can perform an operation 10 times per hour per user on a given resource), it lets you give useful feedback to your user or use thresholds as triggers for proactive actions.

pastjean commented 7 years ago

You did not merge ? @MCoulombe727

mcoulombe636 commented 7 years ago

No I moved it to the V2 branch in another PR since we use the alpha-1 version in the platform.