[Openstack] Distributed rate-limiting

Kevin L. Mitchell kevin.mitchell at rackspace.com
Wed Dec 5 16:15:43 UTC 2012

On Wed, 2012-12-05 at 14:12 +0000, Karajgi, Rohit wrote:
> My understanding is Turnstile manages the situation where, the
> in-memory rate limits that are configured on load balanced API servers
> are imposed properly on the incoming requests, so each API server is
> correctly updated/synced with the used rate limits.
> Can you please confirm this understanding?

Yes.  Turnstile uses Redis to coordinate rate limit configuration and
bucket data, in order to provide rate limiting.

> Also, I don't think this is part of the Openstack trunk code, and if
> so, is there any reason why it's not part of Nova, as it was meant to
> be a replacement?

I wrote Turnstile to be general; it can be used for Nova, Keystone, or
any other system for which rate limiting is desired.  (I in fact
designed it with a goal of being able to use it for some personal
projects which are not OpenStack-related.)  This is the primary reason
it's not a direct part of any OpenStack repository.  That said, it is
hosted on github and I welcome pull-requests…and I'm not at all adverse
to the suggestion that it become an OpenStack project; I'm just not
convinced that that would be generally desired, or that it would be
generally beneficial…
Kevin L. Mitchell <kevin.mitchell at rackspace.com>

More information about the Openstack mailing list