-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
Envoy doesn't currently have support for retrying rate limited responses. When the upstream envoy returns a rate limited response it adds the header x-envoy-ratelimited, which is special cased to make the response ineligible for retries.
This is unfortunate for services that wish to offload the responsibility for retries to envoy, and that also have to deal with rate limited responses.
Envoy also doesn't have support for response headers like Retry-After or X-RateLimit-Reset which provide feedback to the client on how long to wait before retrying a request.
I propose to tackle both of these issues. Please see the design document: https://docs.google.com/document/d/1NSzrx3-KsAFs0ObaLQZUVIt9O4PZv3mXi3Lm7LNzmZE/edit?usp=sharing
In order to test the feasibility of this proposal I'm attaching a reference implementation, see the linked PRs.