To understand my requirement further let me give an example,
RPC messages supposed to be sent between in both direction of two gRPC 
nodes (say A and B)
RPC messages type1 ->Registration, DeRegsistration and GetData are required 
to be send from Node A to Node B
RPC messages type 2 -> GetID and Notification  are initiated from Node B to 
Node A.
Here GetID will occur only once during initialisation of application 
whereas Notification message will be available at random time whenever Data 
changes occur in Node B

Problem:
Since gRPC is a client server model, Always it is necessary that client can 
initiate the request, but in this case RPC message type 2: GetID and 
Notification are supposed to be initiated from Other side of the channel
Let me list down two possible solution here

      Solution 1. Application can have two separate channel, one channel 
for RPC message type 1 to be transferred from NodeA toNode B (n this case 
NodeA will act as gRPC client and NodeB will act as gRPC Server)and another 
channel for RPC message type 2 to be transferred from NodeB to NodeA in 
this case Node A will be gRPC Server and NodeB will be gRPC client. Here 
both RPC messages types are of unary type.

     Solution 2. Only one channel, in this case Node A will act as Client 
and Node B will act as Server. RPC message type 1 is of unary rpc type, 
where as RPC message type 2:Notification can be of server side streaming, 
where Streaming can happen at any random time whenever Data is available, 
Here whether gRPC has support to wait for data ,when data available send 
the response on the wire and again wait for data till application is alive 
?? whereas for GetID request single response is enough in this case server 
supposed to wait for ID Allocation, till then server has to wait for data 
and response can sent when ID is allocated.

So which among the two solution is best and optimal ??

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/03b82103-e739-4015-9a94-03e4d560bf7cn%40googlegroups.com.

Reply via email to