-
Notifications
You must be signed in to change notification settings - Fork 268
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
outbound: Use per-route services in routing stack (#1380)
The outbound proxy currently maintains a `Proxy` instance for each profile-defined `Route`. This allows the router to use a single underlying logical service, but this prevents per-route logic from influencing the logical target to which the request is dispatched. This change modifies the outbound stack to use an alternate profile router that dispatches over per-route `Service`s instead of per-route `Proxy`s. This is possible because the outbound logical stack is buffered (and implements `Clone`), while the inbound stack is not. To support this, the following changes have been made: * The `linkerd_app_core::dst` module has been eliminated in favor of inbound- and outbound-specific Route target types; * `linkerd_http_classify::Classify` now implements `Service` in addition to `Proxy`; * `linkerd_retry::Retry` now implements `Service` instead of `Proxy`; * `linkerd_service_profiles`now implements two caching routers: `NewServiceRouter` for `Service`s and `NewProxyRouter` for `Proxy`s; * The `linkerd_stack::ProxyService` helper has been removed, as it's not used; and * Various unneeded `http::BoxResponse` layers have been removed from the outound stack.
- Loading branch information
Showing
19 changed files
with
498 additions
and
385 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.