我正在实施限制机制来限制发送到服务器的Web请求数量。如果请求的提交太多,则额外请求将排队,直到资源可用。似乎有很多限制选项,我不知道选择哪一个。
到目前为止,我很想实现http://en.wikipedia.org/wiki/Token_bucket所述的令牌桶算法。在What's a good rate limiting algorithm?有与此相关的Python代码,因此应该直接实现Java / Scala版本。
中描述的一个很好的实现同样,Akka似乎使用在http://doc.akka.io/api/akka/2.1.2/index.html#akka.contrib.throttle.Throttler描述的Throttler特征来实施限制
我想实现自己的但不喜欢重新发明轮子,如果有一个解决方案已经可用。使用令牌桶算法比使用Guava&提供的选项更有优势吗?斯卡拉?
最推荐的三个选项中有哪些?