-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Open
Labels
area/httpdesign proposalNeeds design doc/proposal before implementationNeeds design doc/proposal before implementationhelp wantedNeeds help!Needs help!
Description
The existing Envoy RouteConfiguration must be evaluated linearly and contains match criteria with hard to predict execution time (regular expressions). For scale-up Envoy instances where very large route configurations for a host may be present (let's say O(1m)) or multi-tenant Envoy instances, this becomes problematic.
There are many ways this could be solved:
- Envoy could optimize based on presented configuration, for example a trie could be recovered from repeated patterns or a specific match order. This is challenging if the existing linear semantics are to be preserved and involves Envoy complexity.
- We could have variants of regular expressions, e.g. prefix/suffix/glob or RE2 that are cheaper and more predictable to evaluate.
- We could have a parallel
RouteConfigurationwith trie-like semantics, where evaluation order is designed for efficiency.
Some combination of (2) and (3) seems likely to yield a clean solution IMHO, but I'm keen to hear from others.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area/httpdesign proposalNeeds design doc/proposal before implementationNeeds design doc/proposal before implementationhelp wantedNeeds help!Needs help!