-
Notifications
You must be signed in to change notification settings - Fork 25.1k
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
Add proxy mode to RemoteClusterConnection #31840
Labels
:Distributed Coordination/Network
Http and internode communication implementations
Comments
Pinging @elastic/es-core-infra |
s1monw
added a commit
to s1monw/elasticsearch
that referenced
this issue
Aug 22, 2018
This adds support for connecting to a remote cluster through a tcp proxy. A remote cluster can configured with an additional `search.remote.$clustername.proxy` setting. This proxy will be used to connect to remote nodes for every node connection established. We still try to sniff the remote clsuter and connect to nodes directly through the proxy which has to support some kind of routing to these nodes. Yet, this routing mechanism requires the handshake request to include some kind of information where to route to which is not yet implemented. The effort to use the hostname and an optional node attribute for routing is tracked in elastic#32517 Closes elastic#31840
s1monw
added a commit
that referenced
this issue
Aug 25, 2018
This adds support for connecting to a remote cluster through a tcp proxy. A remote cluster can configured with an additional `search.remote.$clustername.proxy` setting. This proxy will be used to connect to remote nodes for every node connection established. We still try to sniff the remote clsuter and connect to nodes directly through the proxy which has to support some kind of routing to these nodes. Yet, this routing mechanism requires the handshake request to include some kind of information where to route to which is not yet implemented. The effort to use the hostname and an optional node attribute for routing is tracked in #32517 Closes #31840
s1monw
added a commit
that referenced
this issue
Aug 25, 2018
This adds support for connecting to a remote cluster through a tcp proxy. A remote cluster can configured with an additional `search.remote.$clustername.proxy` setting. This proxy will be used to connect to remote nodes for every node connection established. We still try to sniff the remote clsuter and connect to nodes directly through the proxy which has to support some kind of routing to these nodes. Yet, this routing mechanism requires the handshake request to include some kind of information where to route to which is not yet implemented. The effort to use the hostname and an optional node attribute for routing is tracked in #32517 Closes #31840
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Today we assume we can use the internal structure of a remote cluster to make additional connections. Yet, this might not work if the remote cluster is inside a cloud-env or behind a proxy. We can't use a seed node and then sniff / discover from there using the cluster state of the remote cluster.
One way to solve this would be a proxy mode for remote connections that doesn't sniff the remote cluster at all but uses N connections to a proxy using dummy discovery nodes internally. Configuration wise this could look like this:
This would translate to connecting to 10 dummy DiscoveryNodes using the same seed which can then round robin or whatever to connect to nodes. Each of these dummies would use a single channel profile. It's quite a different way of connecting but should work just fine for CCS/CCR purposes.
/cc @tbrooks8 @bleskes
Relates to #31835
The text was updated successfully, but these errors were encountered: