Connect: support Envoy Priority levels
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 43
Description
#### Feature Description
https://www.envoyproxy.io/docs/envoy/v1.9.1/intro/arch_overview/load_balancing/priority
Envoy's load balancing and EDS support priority levels that can be used in combination with envoy's built in health checks and complex failover/retry situations.
#### Use Case(s)
We have cluster1 of servers that run service1 and are returned by a prepared query1.
We also have fallback-cluster1 with a different set of servers that run service2 and are returned by prepared query 2.
Service2 is really just service1 but on different servers and configured differently to handle traffic that failed on service1, or should be used if service1 becomes saturated.
Using envoy's priorities this would allow it to first attempt the requests on service1 and only fallback to service2 if service1 becomes unhealthy. We would like to be able to supply envoy with the inventory from two different prepared queries and set their relative priorities to have envoy handle the rest. This kind of configuration is not possible even with all the escape hatches today.
You can see on https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/http/http_connection_management#arch-overview-http-retry-plugins how `envoy.retry_priority.previous_priorities` can also be integrated with retries as well.
Contributor guide
Assessment
This issue has not been assessed yet.