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

Move consulcatalog provider to only use health apis #9140

Merged

Conversation

kevinpollet
Copy link
Member

@kevinpollet kevinpollet commented Jun 29, 2022

What does this PR do?

This PR drops the usage of the Catalog API within the Consul Catalog provider and switches to only using the Health API(s). This is nicely compatible with the Connect endpoints as they live under the same API and output exactly the same types.

Motivation

The Health API, with the cache query parameter set to true, uses the streaming health check system. This means that if streaming is enabled in a Consul cluster, Traefik is now effectively 'free' to run, going so far as an operator can set the refresh interval down to 1 second and likely not notice anything in their Consul cluster.

Even if streaming is disabled, this still cuts the request rate in half, meaning $\approx\frac{1}{2}$ bandwidth usage on top of that which is helpful in really large clusters.

Supersedes #8834

More

  • Added/updated tests
  • Added/updated documentation

Additional Notes

Co-authored-by: Charles Zaffery czaffery@roblox.com

@kevinpollet kevinpollet added this to the next milestone Jun 29, 2022
@kevinpollet kevinpollet added this to To review in v2 via automation Jun 29, 2022
Copy link
Member Author

@kevinpollet kevinpollet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @chuckyz 👍

Copy link
Member

@rtribotte rtribotte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @chuckyz 👍

Copy link
Member

@tomMoulard tomMoulard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👌

Copy link
Member

@ldez ldez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@traefiker traefiker merged commit 3c1d5e0 into traefik:master Jun 29, 2022
v2 automation moved this from To review to Done Jun 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
v2
Done
Development

Successfully merging this pull request may close these issues.

None yet

6 participants