The OpenStack Rate Limit Middleware enforces rate limits and enables traffic shaping for OpenStack APIs per tuple of
- target type URI
- action
- scope (project, host address)
It also supports enforcing global and scoped rate limits. More details can be found in the documentation.
This middleware requires the classification for OpenStack requests.
The openstack-watcher-middleware can be used to classify requests
based on the DMTF CADF specification.
In terms of rate limiting, a request to an OpenStack service can be described by an action, target type URI and its scope.
Moreover, this middleware only works with Python 3
version and
uses Redis >= 5.0.0
as a backend to store rate limits.
It's better to use Redis
without persistent storage.