Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upgRPC tunneling #14101
Comments
ejona86
self-assigned this
Jan 20, 2018
ejona86
referenced this issue
Feb 14, 2018
Closed
is server push feature used in anywhere in Grpc-java? #1486
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
ejona86
Mar 26, 2018
Member
The internal push for this fell away. We're looking for user interest. I know there is user interest, but it's hard to say how much there is. If you're interested, vote up the initial comment of this issue and make a comment describing the sort of use-case you're looking at (like Android or firewall-punching). Also mention whether the tunnel component would be generic or app-specific (as app-specific is easier to workaround today with a bidi stream).
Yes, that will produce something not that different from "me too" style of comments, but that's actually what we're asking for here.
|
The internal push for this fell away. We're looking for user interest. I know there is user interest, but it's hard to say how much there is. If you're interested, vote up the initial comment of this issue and make a comment describing the sort of use-case you're looking at (like Android or firewall-punching). Also mention whether the tunnel component would be generic or app-specific (as app-specific is easier to workaround today with a bidi stream). Yes, that will produce something not that different from "me too" style of comments, but that's actually what we're asking for here. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rAndom69
Apr 3, 2018
Well, I will need this (as I definitely do not want to work-around with bidi streams as it's just bad interface for server which needs to connect to client)
So I might as well do pull request for C++ implementation in near-future.
rAndom69
commented
Apr 3, 2018
•
|
Well, I will need this (as I definitely do not want to work-around with bidi streams as it's just bad interface for server which needs to connect to client) So I might as well do pull request for C++ implementation in near-future. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Kasheen
May 2, 2018
I think I have a use case for this which is an app which allows an Android phone's file system to be explored / read / manipulated via a PC application. Essentially the phone is a file server or hosts a remote file system of sorts.
I've read a comment (I think by yourself @ejona86) whereby you say that a listening server on the phone can be flaky depending on screen off / rom configuration and therefore it's possibly appealing to have the connection set up in the reverse direction (PC listens, Android connects) and then reversing the relationship if I'm understanding this feature correctly.
Still looking into GRPC and not entirely sure this is a sensible use case for it, but it seems right now it'd rely on Android netty server working (not sure on the status of this), or doing some kind of bidi stream workaround (not sure how much of a mess this would be when the phone is very much the server in this relationship).
Not exactly a concrete need from me here, but just a 2 cents on a possible use case that might be useful to me. Figured I'd post since you're trying to gauge interest.
Kasheen
commented
May 2, 2018
•
|
I think I have a use case for this which is an app which allows an Android phone's file system to be explored / read / manipulated via a PC application. Essentially the phone is a file server or hosts a remote file system of sorts. I've read a comment (I think by yourself @ejona86) whereby you say that a listening server on the phone can be flaky depending on screen off / rom configuration and therefore it's possibly appealing to have the connection set up in the reverse direction (PC listens, Android connects) and then reversing the relationship if I'm understanding this feature correctly. Still looking into GRPC and not entirely sure this is a sensible use case for it, but it seems right now it'd rely on Android netty server working (not sure on the status of this), or doing some kind of bidi stream workaround (not sure how much of a mess this would be when the phone is very much the server in this relationship). Not exactly a concrete need from me here, but just a 2 cents on a possible use case that might be useful to me. Figured I'd post since you're trying to gauge interest. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
MHDante
Jun 5, 2018
The use case is a remote operations management platform (kiosks/iot). Due to nat/firewall, we'd like the ability to register a client kiosk to a server, and, on certain events, have the server invert into a client that issues requests to the kiosk. This can currently be done by multiplexing over a bidirectional stream, but would be much better with language support.
MHDante
commented
Jun 5, 2018
•
|
The use case is a remote operations management platform (kiosks/iot). Due to nat/firewall, we'd like the ability to register a client kiosk to a server, and, on certain events, have the server invert into a client that issues requests to the kiosk. This can currently be done by multiplexing over a bidirectional stream, but would be much better with language support. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
overmike
Jun 5, 2018
I am interested in this feature for a use case which service A submit a job through a scheduler and we have no idea the job ends up running at, and we need to send events to the job from service A.
But I am concern about how we can scale up service A after having a tunnel established to one instance of service A. May result in a lookaside table or sticky session
overmike
commented
Jun 5, 2018
|
I am interested in this feature for a use case which service A submit a job through a scheduler and we have no idea the job ends up running at, and we need to send events to the job from service A. But I am concern about how we can scale up service A after having a tunnel established to one instance of service A. May result in a lookaside table or sticky session |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
fischman
Jul 13, 2018
I have a use-case for this motivated by routability - my client can dial a server today but the reverse is not true. The server wants to make side-channel requests of the client, but these "reverse" service definition is largely orthogonal to the "forward" service definition, so intermingling them using bidi streaming and flipping the reverse service are unattractive options.
(this is for a python & C++ app in non-mobile environments, where the server and client are in independent network contexts)
fischman
commented
Jul 13, 2018
|
I have a use-case for this motivated by routability - my client can dial a server today but the reverse is not true. The server wants to make side-channel requests of the client, but these "reverse" service definition is largely orthogonal to the "forward" service definition, so intermingling them using bidi streaming and flipping the reverse service are unattractive options. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Anachronomicon
Aug 8, 2018
I have basically the same use case as @fischman, right down to the language requirements. Something like Crossbar's router is perfect for our needs, but we've already gotten pretty invested in gRPC, so I'd rather not just drop it all and switch to WAMP.
Anachronomicon
commented
Aug 8, 2018
|
I have basically the same use case as @fischman, right down to the language requirements. Something like Crossbar's router is perfect for our needs, but we've already gotten pretty invested in gRPC, so I'd rather not just drop it all and switch to WAMP. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
More users interested in this enhancement grpc/grpc-go#484 |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
pgrosu
Aug 19, 2018
@ejona86 I'd ask on the (grpc.io) discussion group - the sample size will be larger :)
pgrosu
commented
Aug 19, 2018
|
@ejona86 I'd ask on the (grpc.io) discussion group - the sample size will be larger :) |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mmoehring
Sep 27, 2018
The use case is clients on remote locations behind heavily NATted or downright unreliable connections, like clients which can only connect seldom through mobile wifi hotspots.
mmoehring
commented
Sep 27, 2018
|
The use case is clients on remote locations behind heavily NATted or downright unreliable connections, like clients which can only connect seldom through mobile wifi hotspots. |
ejona86 commentedJan 20, 2018
•
edited
Issue for cross-language tunneling coordination, especially reverse tunneling (where the client can become a server).
grpc/grpc-java#3987 (functional Java POC)
#14100