Redis Quota
The redisquota
adapter can be used to support Istio’s quota management system. It depends on a Redis server to store quota values.
Params
redisquota adapter supports the rate limit quota using either fixed or rolling window algorithm. And it is using Redis as a shared data storage.
Example configuration:
redisServerUrl: localhost:6379
connectionPoolSize: 10
quotas:
- name: requestCount.quota.istio-system
maxAmount: 50
validDuration: 60s
bucketDuration: 1s
rateLimitAlgorithm: ROLLING_WINDOW
overrides:
- dimensions:
destination: ratings
source: reviews
maxAmount: 12
- dimensions:
destination: reviews
maxAmount: 5
Params.Override
Params.Quota
Params.QuotaAlgorithm
Algorithms for rate-limiting:
Name | Description |
---|---|
FIXED_WINDOW | FIXED_WINDOW The fixed window approach can allow 2x peak specified rate, whereas the rolling-window doesn’t. |
ROLLING_WINDOW | ROLLING_WINDOW The rolling window algorithm’s additional precision comes at the cost of increased redis resource usage. |