top | item 17177705

(no title)

freeman478 | 7 years ago

Thanks, looks quite useful.

However it seems based on https://github.com/uber/ringpop-go which is marked as no longer active...

What are you using to implement rate limiting ?

discuss

order

yogeshpandey|7 years ago

Sadly ringpop is no more active. But in golimit we are using just clustering constructs of ringpop, which seems to be quite stable in latest version.

We are using distributed counter for rate calculation. Every node stores a local and global counter value. Rate limit is applied on local+global value. The local value is synced periodically on configured interval or when local counter threshold exceeds a configured threshold value.

jerf|7 years ago

If the underlying project is unsupported, and you're only using a part of it, and the licenses permit, I'd suggest just pulling the relevant code into your own. That eliminates the underlying criticism of "depending on code that no one is maintaining" by showing that you will maintain it.

Plus, if you stick with this project and start nursing it through the ever-increasing demand for performance, you're pretty much guaranteed to do this eventually anyhow, so there's not much reason to put it off. :)