openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #19179
Re: Distributed rate-limiting
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@xxxxxxxxxxxxx>
References