rlqs: Support percentage/ratio-based rate limit strategies
#46,086 opened on Jul 10, 2026
Repository metrics
- Stars
- (27,997 stars)
- PR merge metrics
- (Avg merge 8d) (378 merged PRs in 30d)
Description
RLQS RateLimitStrategy only supports absolute counts, not percentage/ratio-based limits
Description:
The Rate Limit Quota Service (RLQS) protocol expresses quota assignments via
type.v3.RateLimitStrategy, which currently supports only:
blanket_rule(allow all / deny all)requests_per_time_unit(an absolute uint64 count per time unit)token_bucket(absolute max tokens + fill rate)
There is no way to express a quota as a percentage or ratio of some baseline (e.g. "allow 10% of traffic to this bucket" or "shed 25% of requests"). This would be useful for use cases like gradual rollout/ramp-up of a rate limiting policy, proportional load shedding across buckets, or percentage-based traffic shaping that scales automatically with incoming volume instead of requiring a control plane to compute and continuously update absolute request-per-second figures.
Requesting a new RateLimitStrategy variant (e.g. PercentageRule or
ratio) that lets the control plane express limits as a percentage/fraction
of observed request volume, similar to the existing percentage-based fault
injection / traffic shifting semantics elsewhere in Envoy (e.g.
envoy.type.v3.FractionalPercent).
[optional Relevant Links:]
https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/rate_limit_quota/v3/rlqs.proto https://www.envoyproxy.io/docs/envoy/latest/api-v3/type/v3/ratelimit_strategy.proto