Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

connect: allow configuration of "outlier detection" #6832

Closed
banks opened this issue Nov 22, 2019 · 1 comment · Fixed by #7713
Closed

connect: allow configuration of "outlier detection" #6832

banks opened this issue Nov 22, 2019 · 1 comment · Fixed by #7713
Labels
theme/connect Anything related to Consul Connect, Service Mesh, Side Car Proxies theme/envoy/xds Related to Envoy support type/enhancement Proposed improvement or new feature
Milestone

Comments

@banks
Copy link
Member

banks commented Nov 22, 2019

Scope:

  • No RFC needed
  • Some minor UX work to decide best config to support that will be maximally future compatible with other proxy integrations. The rationale can be given in PR description and signed off as part of review.
  • O(days) task to add the config, plumb though to Envoy and write tests (assuming familiarity)

Allow configuration of Envoy's client side outlier detection.

Envoy names this feature "outlier detection" while uses the term "circuit breaker" to refer to connection pool limits. Many other systems tend to use "circuit breaker" to describe this pattern of avoiding sending traffic to nodes which have recently failed. See https://martinfowler.com/bliki/CircuitBreaker.html

We should carefully consider how we expose the config here as we want to be proxy-agnostic and other proxies use different terminology. We might avoid the term "circuit breaker" just because that means something else in Envoy land.

It would be good to review how similar controls are implemented in other major proxies (HAProxy, Nginx at least) to make sure we come up with something that is meaningful for all ideally or can discuss the best tradeoff otherwise.

One term I think works reasonably well here is "Passive health checking".

It would be ideal to be able to specify global defaults in the global proxy-defaults ConfigEntry that would be inherited by services that don't explicitly set their own. Otherwise this is expected to live in service-defaults (or wherever we decide upstream defaults go as part of #6359).

@banks banks added type/enhancement Proposed improvement or new feature theme/connect Anything related to Consul Connect, Service Mesh, Side Car Proxies labels Nov 22, 2019
@banks banks added this to the 1.7.x milestone Nov 22, 2019
@dnephin dnephin added the theme/envoy/xds Related to Envoy support label Apr 1, 2020
@dnephin dnephin modified the milestones: 1.7.x, 1.8.0 Apr 20, 2020
@dnephin
Copy link
Contributor

dnephin commented Apr 22, 2020

Config reference: envoy, nginx, haproxy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
theme/connect Anything related to Consul Connect, Service Mesh, Side Car Proxies theme/envoy/xds Related to Envoy support type/enhancement Proposed improvement or new feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants