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

Envoy routing scalability & performance question #19067

Closed
manlinl opened this issue Nov 19, 2021 · 4 comments
Closed

Envoy routing scalability & performance question #19067

manlinl opened this issue Nov 19, 2021 · 4 comments
Labels
area/router question Questions that are neither investigations, bugs, nor enhancements

Comments

@manlinl
Copy link

manlinl commented Nov 19, 2021

Title: Envoy routing scalability & performance question

Description: some context, recently we are evaluating introducing service mesh into our service platform. Our goal is to support 2k+ services on a single mesh. We are POCing using Envoy hijacks outbound HTTP/gRPC traffic and route based on target domain (:authority).

AFAIK, the XDS today doesn't support lazily requesting routing policy based on ":authority" header it sees in traffic, instead it asks for all possible routes, that is O(2k+), routes. For each request, Envoy need to match the route. Is the algorithm O(1) or O(n) today?

Istio uses one virtual listener per destination port to shard the outbound routes. I am not sure how many listeners Envoy can handle? In our case, our services are pretty homogeneous, exposing port 80/443. So we have a huge routing table. I appreciate if some expert can provide some insight on the best practice.

@manlinl manlinl added the triage Issue requires triage label Nov 19, 2021
@RyanTheOptimist RyanTheOptimist added area/router question Questions that are neither investigations, bugs, nor enhancements and removed triage Issue requires triage labels Nov 22, 2021
@RyanTheOptimist
Copy link
Contributor

cc: @asraa

@manlinl
Copy link
Author

manlinl commented Nov 27, 2021

Friendly ping...

@asraa
Copy link
Contributor

asraa commented Nov 29, 2021

Hey! Sorry for the break -- routing is O(n), the issue is tracked here #6602 and will probably have better responses for what the status of that is.

@manlinl
Copy link
Author

manlinl commented Nov 30, 2021

Thank you @asraa! Just another related question, scoped routing configuration uses a key e.g., a header value to pick a route. Is it O(1)?

@manlinl manlinl closed this as completed Dec 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/router question Questions that are neither investigations, bugs, nor enhancements
Projects
None yet
Development

No branches or pull requests

3 participants