基于Memcache的速率限制算法?(令牌桶?)

Clo*_* NZ 5 google-app-engine rate-limiting

我正在寻找一种有效的方法来限制Google App Engine对第三方服务的请求的速率。第三方服务费率是按帐户限制请求的,在Google App Engine方面,大多数工作都是在任务内部完成的。令牌桶是一种很棒的通用算法。

问:可以使用哪种方法对每个帐户而非每个服务有效地限制请求的速率?

这不应该在GAE任务队列上设置费率,因为每个帐户的请求数和服务的帐户数将有很大的不同。出于性能原因,我对基于内存缓存(incr / decr?)的想法最感兴趣!

我认为这归结为基于内存缓存的令牌桶?

有什么想法吗?

Fra*_*nck 1

我不久前将这个项目保留为书签:http://code.google.com/p/gaedjango-ratelimitcache/

并不是对您的具体问题的真正答案,但也许它可以帮助您开始。