hashicorp / hashicorp/consul

Connect: support Envoy Priority levels

Open
#6,756 1 comment 3 reactions 0 assignees View on GitHub
theme/connect type/enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.