uber-go / ratelimit

A Go blocking leaky-bucket rate limit implementation
MIT License
4.32k stars 300 forks source link

[Docs] Need to illustrate the option `Slack` #121

Open spencercjh opened 10 months ago

spencercjh commented 10 months ago

There is also a bug about it: #120

aneeskA commented 10 months ago

Yes, please. What is the meaning of Slack in a leaky bucket algorithm? I have an observation where when the application do not Take() for a period of time, the rate limiting stops to apply on the next Take(). I saw a comment that WithoutSlack is the way to fix this problem. I want to make an educated decision. Please help with some documentation.

spencercjh commented 8 months ago

There was a similar issue about it: #4 .

rabbbit commented 8 months ago

We'll be happy to accept PRs that update the documentation.

spencercjh commented 8 months ago

There is a Chinese blog to illustrate slack and #119, #120.

While it partially explains the context of the bug, it still lacks a direct explanation of slack and we are always approaching this issue from an observer's perspective, missing the original author's direct thoughts on this design about slack.

If no one can clarify this, please mention that slack defaults to 10 and the consequences it brings. Even consider modifying the usage example of this library to guide everyone new to use it with ratelimit.WithoutSlack.

If you agree with my comments, I can submit PRs to make contributions.

rabbbit commented 7 months ago

Apologies for the delay.

I see the points you're making. If you can put up the PRs, I'll accept them. Please make them small though - one for example, one for the documentation (perhaps in the FAQ)?

Thank you for the Chinese blog post. I'm surprised by the reported performance degradation, I'll try to run some more tests.

spencercjh commented 7 months ago

Apologies for the delay.

I see the points you're making. If you can put up the PRs, I'll accept them. Please make them small though - one for example, one for the documentation (perhaps in the FAQ)?

Thank you for the Chinese blog post. I'm surprised by the reported performance degradation, I'll try to run some more tests.

Thanks for your reply. I will try to do some docs works.