Rate limits are applied per envoy proxy in Kuma and therefore when using Kuma as a distributed load balancer it is not possible to set accurate values for rate limiting because rate limits depend on:
- how many envoy proxies exist for each distributed load balancer
- the rate limit would need to be divided by the number of envoy proxies and updated when this changes - how load is distributed between distributed load balancer across all clients
- the rate limit would need to be divided by the number of deployment targets (each with their own set of envoy proxies), however, if most clients make requests from a single (or limited set of) deployment targets the actual rate limit applied will be lower because the rate limit would have been divided equally among deployment targets
To resolve these issues we need support for global rate limiting in envoy, see: [https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting.html?highlightrate%20limiting|https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/other_features/global_rate_limiting.html?highlightrate%20limiting|smart-link]