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 ?
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.
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. :)
If I feed this user-supplied keys such as IP address or cookies, doesn't this mean it will grow without bound?
Also, there was an HN thread last year from stripe with a good discussion of distributed rate limiting: https://news.ycombinator.com/item?id=13997029