envoyproxy / envoyproxy/gateway

Enhanced failover logic

Open
#5,130 5 comments 0 reactions 0 assignees View on GitHub
stale triage
Dominant language
Go
Stars
3k
Forks
864
Avg merge
2d 2h
Merged PRs (30d)
140

Description

*Description*:
>Describe the desired behavior, what scenario it enables and how it
would be used.

I'd like the ability to configure [circuit breakers](https://gateway.envoyproxy.io/docs/api/extension_types/#circuitbreaker) on a particular backend service and once those thresholds are reached I'd like to send all new connections to a secondary service.

One way I thought of going about this was to use the `Backend` CRD as described in [Failover docs](https://gateway.envoyproxy.io/docs/tasks/traffic/failover/) but the issue there is that BackendTrafficPolicy can only be applied to one of `'Gateway', 'HTTPRoute', 'GRPCRoute', 'UDPRoute', 'TCPRoute', 'TLSRoute'` rather than one of the underlying backendRefs which means the circuit breaker settings would also be applied to the secondary failover service where I'd want to have higher/different thresholds.

I propose one of the following:
- Allow for attaching `BackendTrafficPolicy` to `Backend`
- Allow for configuring Circuit Breakers (would probably be implemented via ClusterSettings) inside `Backend`

I'm curious how one might handle this when working with raw envoy configuration. Reading the envoy docs this might be something that simply isn't supported easily and most posts/issues I could find are more focused on retries rather than a failover like I'm seeking.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.